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