MYSQL +EF如何配置完美使用DbContext

最近感觉MS SQL过于庞大所以想换下MYSQL安装方便,使用起来资料也丰富。

一直以来VS提供的EF技术,都是能比较简单方便的搭建EF+MSSQL环境进行开发。鉴于在配置EF+MYSQL时候遇到了许多问题,虽然经过网上查找但是,仍是磕磕碰碰。所以特意记录下来。

下面就直接上示例:1、在NuGet包管理中,下载安装Mysql.Data.Entity

MYSQL +EF如何配置完美使用DbContext

安装后引用中就会有一下四个dll

MYSQL +EF如何配置完美使用DbContext

以上这些很多文章都能找到,所以就不多说了。

下面就是正式的web.config配置了:

1、将web.config里面自动创建的节点信息<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>

其他的数据库连接就是正常的连接:

<add name="testDbContext" connectionString="server=127.0.0.1;port=3306;Database=mshop;User ID=root;Password=123456" providerName="MySql.Data.MySqlClient"/> 

2、接着在DbContext使用就很简单了

MYSQL +EF如何配置完美使用DbContext

这样就可以像直接使用edmx的模式使用数据库对象了。