最近,项目考虑到安装部署方面;希望可以使用MySQL数据库,毕竟比较小巧、方便。

  后来,自己通过测试发现EF可以支持mysql数据库,而且也可以通过codefirst模式进行开发;使用起来,跟sqlserver几乎一样。但是,在使用中遇到一些小问题,希望以后大家少走弯路。以下截图,是通过别人的博客copy的(偷懒)。

通过NuGet安装MySql

之后,看到项目多出相关几个dll文件

接下來加入 MySQL 的 Model

无法使用EF

需要加入Provider

這時需要在 App.config/Web.Config加入以下 Provider,然後按下存檔

<providerinvariantName="MySql.Data.MySqlClient"type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"></provider>

完整設定檔如下:

<?xmlversion="1.0"encoding="utf-8"?><configuration><configSections><!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --><sectionname="entityFramework"type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"requirePermission="false"/></configSections><startup><supportedRuntimeversion="v4.0"sku=".NETFramework,Version=v4.5"/></startup><entityFramework><defaultConnectionFactorytype="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"><parameters><parametervalue="v11.0"/></parameters></defaultConnectionFactory><providers><providerinvariantName="System.Data.SqlClient"type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/><providerinvariantName="MySql.Data.MySqlClient"type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"></provider></providers></entityFramework></configuration>

這時候就可以加入MySQL Model

 以下是codefirst执行时候,遇到的问题

1>修改配置文件config

<add name="MySqlDbContext" connectionString="Data Source=localhost;port=3306;Initial Catalog=testdb;Charset=utf8;user id=root;password=;" providerName="MySql.Data.MySqlClient" /> 
注意:一定加上Charset=utf8,否则执行新增时,会把乱码添加进去 2>EF执行迁移报错,找不到mysql.entity.client
需要在dbcontext类上添加特性:[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
												

最新文章

  1. JS的兼容函数
  2. AngularJS中的digest循环$apply
  3. 用js完成毫秒格式数据的日期格式化任务
  4. generated clock
  5. 通过HttpClient来调用Web Api接口~续~实体参数的传递
  6. web前端开发(3)
  7. MyEclipse使用问题及解决方法
  8. 如何为WPF添加Main()函数 程序入口点的修改
  9. bootstrap-dialog的使用
  10. 虎记:强大的nth-child(n)伪类选择器玩法
  11. HighCharts之2D柱状图、折线图的组合多轴图
  12. Linux 上一些常用命令
  13. python 进程池Pool的apply_async方法以及一些需要注意的地方
  14. C语言中结构体(struct)的几种初始化方法
  15. 【BZOJ3238】【AHOI2013】差异
  16. ios设备唯一标识获取策略
  17. setInterval(),setTimeout(),location.reload(true)
  18. Spark-class启动脚本解读
  19. c#基础之循环探索
  20. CodeForces 489B BerSU Ball (水题 双指针)

热门文章

  1. thinkPHP--SQL查询
  2. 设置TextBox控件的TextMode属性
  3. MySQL的btree索引和hash索引的区别
  4. Waitforsingleobject 函数的用法
  5. 实现android手机来电拦截系统页面弹出自定义页面特效
  6. Head First Html and CSS学习笔记之HTML
  7. lua 代码风格
  8. Android Studio插件整理
  9. 转载 ----HTML5 ---js实现json方式提交数据到服务端
  10. Vue.js 组件重要选项