首页 > 数据库 >编程语言界的丐帮 C#.NET FRAMEWORK 4.6 EF 连接MYSQL

编程语言界的丐帮 C#.NET FRAMEWORK 4.6 EF 连接MYSQL

时间:2022-09-23 17:15:40浏览次数:57  
标签:set string get C# Data 4.6 丐帮 public EfTestDbContext

1.nuget 引用 EntityFramework、和 MySql.Data.EntityFramework。  

MySql.Data 这个库视情况。

2.新建实体类:

using System;
using System.ComponentModel.DataAnnotations;

namespace DbEfTest
{
    public class sys_user
    {
        [Key]
        public long id { get; set; }

        public string user_name { get; set; }

        public string real_name { get; set; }
        public string password { get; set; }
        public string remark { get; set; }
        public string create_userid { get; set; }

        //public string UpdateUserid { get; set; }

        public DateTime create_time { get; set; }
        public DateTime? update_time { get; set; }


    }
}

3.新建DbContext:

using System.Data.Entity;

namespace DbEfTest
{
    public class EfTestDbContext : DbContext
    {
        public EfTestDbContext() : base("EfTestDbContext")
        {

        }

        public DbSet<sys_user> sys_user { get; set; }

    }
}

4.检查Web.config 或 app.config

4.1 检查 entityFramework - providers 配置节,有没有:

<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework" />

没有则加上。

4.2 检查 system.data - DbProviderFactories 配置节,有没有:

<remove invariant="MySql.Data.MySqlClient" />
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.30.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>

没有则加上。

局部完整配置代码示例:

<entityFramework>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework" />
    </providers>
  </entityFramework>

  <system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient" />
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.30.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
    </DbProviderFactories>
  </system.data>

5.使用代码:

using (EfTestDbContext db = new EfTestDbContext())
                {
                    var tm1 = db.sys_user.FirstOrDefault(x => x.id == 1);
                    if (tm1 != null)
                    {
                        first = tm1.real_name;
                    }
                }

6.编译后,检查 bin 目录(网站)或根目录(EXE程序)是否存在MySql.Data.EntityFramework.dll 文件。

如果没有,则要到 https://downloads.mysql.com/archives/c-net/ 去下载 Connector 并安装。Connector 要与 nuget 引用的版本一致,例如配置文件里 :Version=8.0.30.0,就得下载相应版本的Connector。

然后到安装目录:C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.30\Assemblies\v4.5.2,找到 MySql.Data.EntityFramework.dll,复制到bin目录或根目录。

7.运行程序。

 

标签:set,string,get,C#,Data,4.6,丐帮,public,EfTestDbContext
From: https://www.cnblogs.com/runliuv/p/16723393.html

相关文章

  • 【源码笔记】ThreadPoolExecutor#addWorker
    /***Checksifanewworkercanbeaddedwithrespecttocurrent*poolstateandthegivenbound(eithercoreormaximum).Ifso,*theworkercountisa......
  • JavaScript HTML DOM 元素 (节点)
    创建新的元素节点-appendChild():appendChild()方法:将元素添加到尾部创建新的元素节点-insertBefore():insertBefore()方法,将元素添加到开始位置移除已存在的元素:需要知......
  • 2、oracle安装出现的问题
    1、问题:scott用户在安装时未解锁的问题 方案: 2、适配器错误  方案:确保勾选的服务是启动状态  3、 ......
  • HTML5 Canvas
    HTMLCanvas创建一个画布<canvasid="mycanvas"width="200"height="200"style="border:1pxsolid#000000"></canvas>用于图形的绘制,通过javascript完成画布是一......
  • 【C#】接口的基本概念
    目录基本什么是接口接口与抽象类的区别抽象类接口实例设计接口基本什么是接口C#接口(interface)是:用来定义一种程序的协定实现接口的类或者结构要与接口的定义严格一致。......
  • 【C#】iTextSharps.dll操作Excel、PDF
    一、PDFusingiTextSharp.text;usingiTextSharp.text.pdf;usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Linq;usingSystem.Tex......
  • Centos7设置postgresql数据库开机自启动
    前言PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下如果不知道具体的路径,可以用find命令进行查找。命令如下:[root@admin~]#find/-......
  • JavaScript HTML DOM EventListener
    可向指定元素添加事件句柄添加的句柄不会覆盖已存在的事件句柄可向一个元素添加多个事件句柄可向同个元素添加多个同类型的事件句柄,如两个“click”事件向DOM对象添加......
  • Anaconda功能、优点、安装步骤(安装视频)
    目录介绍功能(包和环境的管理器)优点(省时省心)下载地址安装教程要点conda的常见命令查询完整帮助文件管理conda和anaconda管理环境包管理其他​介绍Anaconda是专注于数据......
  • 【电脑问题】开机自动进入BIOS,按下Ctrl+ALt+Del键可以正常进入系统
    问题描述:开机自动进入BIOS,按下Ctrl+ALt+Del键可以正常进入系统Ctrl+Alt+Del作用:立即终结电脑的异常状态,包括宕机按法①:三个键一起按按法②:先按住Ctrl和Alt,再按Del必......