mysql codefirst_EF6 CodeFirst使用MySql

如何使用EF CodeFirst连接MySql数据库?

环境:VS2015、Win7、.NetFramework4.5.2、MySql5.6

一、基本操作

1、创建MVC5项目:ZmsoftsWebMvc。

2、通过NuGet包管理器安装:MySql.Data.EntityFramework

3. web.config添加连接字符串connectionStrings

4.创建一个dbcontext类

public classZmDbContext : DbContext

{public ZmDbContext() : base("default")

{

}public virtual DbSet Users { get; set; }

}

5.使用Enable-Migrations 开启迁移,自动生成配置文件

二、MYSQL配置

1.基础配置

A、下载MySQL for Visual Studio

https://dev.mysql.com/downloads/windows/visualstudio/

B、安装connector

https://dev.mysql.com/downloads/connector/net/

C、修改my.ini

找到以下信息,前面如果没有加#,就补上。如果没有注释,会出现异常:Unknown storage engine 'InnoDb'

# skip-innodb

#loose-skip-innodb

2.程序配置

A、修改web.config

首先,修改connectionStrings;

添加SslMode = none;,网上有的还加了port=3306;

如果保存中文出现乱码,需要添加 Character Set=utf8;

不添加SslMode = none;可能会出现异常:The provider did not return a ProviderManifestToken string. ---> MySql.Data.MySqlClient.MySqlException: The host localhost does not support SSL connections.

然后,修改DbProviderFactories

B、修改ZmDbContext.cs文件

[DbConfigurationType(typeof(MySqlEFConfiguration))]public classZmDbContext : DbContext

{

....

}

C、修改Configuration

publicConfiguration()

{

AutomaticMigrationsEnabled= false;

SetSqlGenerator("MySql.Data.MySqlClient", new MySqlMigrationSqlGenerator());//设置Sql生成器为Mysql的

}

三、EF迁移

1.添加迁移文件

Add-Migration Init

2.迁移

Update-DataBase –verbose

目前遇到一个问题,在Configuration中Seed的初始化时,插入数据库乱码,路过的大神帮下忙

demo下载地址:https://gitee.com/zmsofts/XinCunShanNianDaiMa/blob/master/ZmsoftsMP.rar

参考文章:

https://www.cnblogs.com/kexxxfeng/p/5095812.html

https://www.cnblogs.com/alunchen/p/7188562.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值