Entity Framework连接Mysql数据库并生成Model和DAL层

时间:2022-02-21 06:31:49

Entity Framework (EF,ADO.NET Entity Framework)是微软官方提供的.NET平台的ORM框架。相比于LINQ TO SQL,EF框架具有很明显的优势:

  • EF框架支持多种数据库,而不仅仅局限于微软的SQL Server,MySQL,Oracle都有良好的支持。

  • 支持存储过程。

  • 强大的可视化模型设计工具,与Visual Studio深度整合。

  • 与.NET平台的其他技术整合良好。

网上有很多关于用EntityFrame来连接Mysql数据库的教程,可是很多并不靠谱,转载的太多了。找了很久,总算是配置好了,现在分享一下。

接下来我们将介绍如何使用EF框架访问MySQL数据库。

一,安装:
1、开发环境: VS2013与EF6
2、Mysql数据库为:Mysql Server 6.0
3、安装:Mysql for Visual Studio 1.1.1
4、安装 Mysql Connector/Net 6.8.3 GA
二,引用dll:
1、采用Nuget安装EF6.0.2;
2、采用Nuget安装MySql.Data.Entity.EF6

注意:要采用Nuget进行安装,否则可能会缺少相应的dll或者是配置信息

三、配置 web.config或app.config

1、将entitframework节点替代为:

<entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6">
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/>
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>

2、添加 ConnectionString节点:

<connectionStrings>
<add name="MyContext" connectionString="Data Source=localhost;port=3306;Initial Catalog=数据库名称;user id=Mysql的登录用户名;password=Mysql server密码;" providerName="MySql.Data.MySqlClient"/>
</connectionStrings>

如果不使用"根据数据库表字段生成Models和Context "的功能,可以不阅读。

-----------------------------------------------------------------------------

1、vss 上获取这个 project ,这个Project 已经实现页面和数据库交互的功能。

FrameWork4.5 EF6

以下几点主要实现:根据数据库表字段生成Models,适用于DAL一层的开发人员。

2、 vs2013中安装 EF 的扩展,能根据数据库表字段生成Models和Context ,工具--扩展和更新--搜索“Entity FrameWork Power Tools Beta4” ,安装扩展。

3、 安装MySQL Connector Net 6.8.3 32或64位 下载地址:http://dev.mysql.com/downloads/file.php?id=450594 (官网,登录后才能下载)

2,3目的是使用:项目实战,项目-右键 - Entity FrameWork - Reverse Enginner Code First ,生成 Models 文件夹及里面的.cs文件。