使用EF CodeFirst连接MySql数据库
如何使用ef codefirst连接mysql数据库?
我们这篇文章介绍怎么使用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的数据库:
到此,结束配置
转载 https://www.cnblogs.com/alunchen/p/7188562.html
上一篇: C#实现窗口之间的传值
下一篇: C#隐藏控制台键盘输入的方法
推荐阅读
-
PHP5中使用PDO连接数据库的方法
-
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
-
使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题该如何解决
-
JSP使用JDBC连接MYSQL数据库的方法
-
在ASP中连接MySQL数据库,最好的通过ODBC方法
-
.net(C#数据库访问) Mysql,Sql server,Sqlite,Access四种数据库的连接方式
-
C# -- 使用ODBC连接数据库
-
使用数据库客户端工具Oracle SQL Developer加载第三方驱动连接mysql的方法
-
使用phpMyAdmin修改MySQL数据库root用户密码的方法
-
Windows7下Python3.4使用MySQL数据库