使用EF CodeFirst连接MySql数据库
2017-07-15 23:41
507 查看
如何使用EF CodeFirst连接MySql数据库?
我们这篇文章介绍怎么使用EF连接MySql
为什么我们要使用Mysql呢?
一方面现在的数据库多种多样,发展到了非关系数据库、内存数据存储等,不得不用其他的软件;
另一方面C#很早也开始了开源与支持多平台(core)的路程
我们新建项目叫EfAndMySql
我们这里的版本是6.9.9
此包因为是依赖EF包的,所以安装此包时会自动安装EF包。
点击添加后,我们选择【空Code First模型】
把原来的entityFramework节点换成:
把原来的connectionStrings换成我们MYSQL的连接:
值得注意的是,程序是怎么验证我们连接的是Mysql数据库,而不是sqlserver呢?答案就在connectionString中的providerName="MySql.Data.MySqlClient"。 如果我们想用sqlserver或其他数据库的连接,导入相应的包,换连接与providerName就可以了。
enable-migrations
add-migration init
update-database
在看看我们的Mysql,成功安装了EfMysql的数据库:
到此,结束配置
我们这篇文章介绍怎么使用EF连接MySql
作者的环境
VS2017、Win10、MySql5.x前言
一般在EF中,默认是使用SqlServer数据库。为什么我们要使用Mysql呢?
一方面现在的数据库多种多样,发展到了非关系数据库、内存数据存储等,不得不用其他的软件;
另一方面C#很早也开始了开源与支持多平台(core)的路程
开始新建项目
我们这里新建的是WebApi项目,当然你喜欢什么类型项目都一样。我们新建项目叫EfAndMySql
开始安装包
install-package MySql.Data.Entity我们这里的版本是6.9.9
此包因为是依赖EF包的,所以安装此包时会自动安装EF包。
开始添加codefirst
项目建完后,我们新建一个数据模型:右键->新建项->数据->ADO.NET实体数据模型。名字为Model,如下图:点击添加后,我们选择【空Code First模型】
配置web.config
安装完成后,我们配置webconfig文件。把原来的entityFramework节点换成:
<entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6"> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, 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.Entity.EF6"></provider> </providers> </entityFramework>
把原来的connectionStrings换成我们MYSQL的连接:
<connectionStrings> <add name="Model" connectionString="Data Source=localhost;port=3306;Initial Catalog=EfMysql;user id=root;password=root;" providerName="MySql.Data.MySqlClient"/> </connectionStrings>
值得注意的是,程序是怎么验证我们连接的是Mysql数据库,而不是sqlserver呢?答案就在connectionString中的providerName="MySql.Data.MySqlClient"。 如果我们想用sqlserver或其他数据库的连接,导入相应的包,换连接与providerName就可以了。
输入命令与验证
在程序包管理器控制台以此输入:enable-migrations
add-migration init
update-database
在看看我们的Mysql,成功安装了EfMysql的数据库:
到此,结束配置
相关文章推荐
- 一起谈.NET技术,在ASP.NET MVC3中使用EFCodeFirst 1.0
- EntityFramework 6.0< Code First > 连接 Mysql数据库
- 如何在EF CodeFirst中使用唯一约束(Unique)
- Contoso 大学 - 使用 EF Code First 创建 MVC 应用
- Entity Framework 4 CodeFirst EFProviderWrapperToolKit 使用
- EFCodeFirst使用Nuget更新数据库
- EF(EntityFramework)使用Code First连接MySQL数据库详解
- 在使用EFCodeFirst中出现类型“System.Data.Objects.ObjectContext”在未被引用的程序集中定义的解决方案
- Entity Framework Code First使用者的福音 --- EF Power Tool使用记之一(转)
- 关于在ASP.NET MVC 中使用EF的Code First的方式来读取数据库时的Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.
- Entity Framework Code First使用者的福音 --- EF Power Tool使用记之二(问题探究)
- MVC 使用EF Code First数据迁移之添加字段
- 使用EF CodeFirst根据实体类生成数据库
- EF Code First连接现有数据库
- Entity Framework Code First使用者的福音 --- EF Power Tool使用记之二(问题探究)(转)
- 使用ef code first模式,在部署后服务器端把数据库同步到最新版本的方法
- Entity Framework Code First使用者的福音 --- EF Power Tool使用记之一
- 使用EF codeFirst创建数据库
- 针对Mysql 使用EF Code First时 TimeStamp/RowVersion 类型 的解决办法
- Entity Framework Code First ---EF Power Tool 和MySql一起使用遇到的问题