码迷,mamicode.com
首页 > 数据库 > 详细

EntityFramework For Mysql 动态切换数据源

时间:2017-12-02 00:36:45      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:upload   父类   eee   实验   alt   数据库表   src   安装mysql   构造   

1.简介

在工作中遇到一个问题。项目有三个数据库(三个数据库表结构一样),用户可以选择使用哪个数据库。其实就是动态切换数据库连接。

2.EntityFramework For Mysql

先来简单的介绍下mysql使用EntityFramework来操作数据库。
直接上代码:

(1).先建个项目,安装mysql,entityframework相关包

技术分享图片

(2).建立实体和对应的数据库表

技术分享图片
技术分享图片
技术分享图片

(3).编写数据库连接字符串,编写context实体

技术分享图片
技术分享图片
这样就可以来使用Entityframework来访问mysql数据了。

(4).简单测试

技术分享图片
技术分享图片
技术分享图片

3.动态切换数据库

(1).在建一个blog1数据库,表如blog数据库。

技术分享图片

(2).对context进行改造

技术分享图片

(3).改造测试

技术分享图片

技术分享图片

技术分享图片

技术分享图片

4.为什么可以直接传链接字符串

从DbContext构造函数的方法签名可以看出端倪。
技术分享图片
可以看出我们传数据库连接字符串名字和直接传数据库连接字符串都是可以的。EntityFramework会去做判断,如果是name,再去配置文件取数据库连接字符串和providerName。如果是数据库连接字符串则直接拿来用。

5.遇到的坑

其实EntityFramework对mysql的支持并不是很好,还有些bug。我在进行以上实验的时候遇到了一个问题。当我直接将数据库连接字符串的传到父类的构造函数时,报了: Keyword not supported:‘port‘错误。经过一番查找,最终找到三个方案:https://stackoverflow.com/questions/45217166/c-sharp-entity-framework-keyword-not-supported-port
遇到坑的童鞋们可以去看下。

EntityFramework For Mysql 动态切换数据源

标签:upload   父类   eee   实验   alt   数据库表   src   安装mysql   构造   

原文地址:http://www.cnblogs.com/nele/p/7944838.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!