之前的文章总结了MSSQL如何使用EF Code First,这篇文章总结下如果使用Mysql的数据库如何使用EF Code First,几种方式类似,只是部分细节有所差异

Mysql需要引用:Mysql.Data和Mysql.Data.Entity两个库,注意版本问题

Mysql.Data和Mysql.Data.Entity最新版是6.10.4但是需要使用.Net Framework 4.5.2

.Net Framework 4.5那么需要使用Mysql.Data和Mysql.Data.Entity的版本是6.9.10

第一步:建立实体类(和上一篇文章一样,只是用来演示,就没改)

例如:用户类(测试用,没写那么多,只有简单的创建时间,用户昵称和唯一标识),这个类是数据库中的表映射到C#中的对象,所以可以说是C#中对象,也可以说是数据库中的表。

 public class UserTable

    {

        public string Id { get; set; }

        public DateTime BuildTime { get; set; }

        public string NickName { get; set; }

    }

第二步:建立数据库上下文,Sqlite在这之前需要创建一个配置类,这里可以先不创建,根据需要自行建立即可

创建类DbModels,也可以直接创建ADO.NET 实体数据模型,然后选择空CodeFirst模型

内容如下(注意类头上的标签,是必须的):

[DbConfigurationType(typeof(MySqlEFConfiguration))]

 public class DbModels : DbContext

    {

        //构造方法,base("这里是使用的ConnectString"),设置连接字符串

        public DbModels() : base("name=DbModels")

        {       

        }

        public virtual DbSet<UserTable> User { get; set; }

    }

第三步:配置文件(这次只需配置连接字符串即可)

connectionStrings节点下,设定在应用程序根目录创建

<add name="DbModels" providerName="MySql.Data.MySqlClient" connectionString="server=服务地址;port=3306;database=数据库名;uid=root;password=密码"/>

第四步:可以在程序的入口载入初始数据,读取数据,添加数据或修改数据后,注意使用SaveChanges()方法保存数据到数据库

如果还是不可以,请下载安装以下两个插件(我做测试时,这两个插件已经安装了,所以不知道对该操作有无影响):

Mysql for Visual Studio:https://dev.mysql.com/downloads/windows/visualstudio/?spm=5176.100239.blogcont51734.9.PnyAV2

Connector/Net:https://dev.mysql.com/downloads/connector/net/?spm=5176.100239.blogcont51734.10.PnyAV2

参考文档:https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework60.html

文章信息

创建时间
2023-12-11
作者
郭铭心
是否所有人可见
所有人可见
最后修改日期
2023-12-11
点击数
194