博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EF6 CodeFirst使用MySql
阅读量:5009 次
发布时间:2019-06-12

本文共 1789 字,大约阅读时间需要 5 分钟。

如何使用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 class ZmDbContext : 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 class ZmDbContext : DbContext    {        ....    }

  C、修改Configuration

public Configuration()        {            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

转载于:https://www.cnblogs.com/xcsn/p/9314563.html

你可能感兴趣的文章
实现QQ第三方登录、网站接入
查看>>
HTML CSS 层叠样式表 三
查看>>
Qt pro pri 文件学习1
查看>>
软件工程概论第六周学习进度条
查看>>
[思路]导入导出功能
查看>>
【iOS】UICollectionView自己定义Layout之蜂窝布局
查看>>
golang——(strings包)常用字符串操作函数
查看>>
发布aar到jcenter
查看>>
跨浏览器问题的五种解决方案
查看>>
XPath定位时,使用文本的方法小技巧。
查看>>
安装pandas报错(AttributeError: 'module' object has no attribute 'main')
查看>>
ch02 fundamental definition 01
查看>>
JSON解析
查看>>
Position is everything?(css定位学习的一些心得)(一)
查看>>
如何提高编程水平
查看>>
Jquery Uploadify3.21.与2.1版本 使用中存在的问题--记录三
查看>>
Linux查看进程的内存占用情况 分类: ubuntu ...
查看>>
[BZOJ 2818]Gcd
查看>>
FORM值传递与地址传递
查看>>
(译)yaml快速教程
查看>>