VS2012使用EF连接Mysql问题,应该怎么建立连接

VS2012使用EF连接Mysql问题,应该怎么建立连接,第1张

VS2012+EF5连接MySql5.6 Mysql驱动 附上驱动下载地址 解决MySql数据乱码问题

http://my.oschina.net/u/170703/blog/210814?p=1

详细可以参考这个,有图解教程,希望可以帮到你

1)由以往的经验:在ADO.NET中,要 *** 作多个数据库,那就多写两个SqlHelper吧,或封装下,能动态的修改链接字符串。因此想到在这里能不能建多个ADO.NET实体数据模型呢?于是乎就有了这样两个文件:SealDBModel.edmx及UcmsDBModel.edmx。

2)SealDBModel是主要的,因此在Server中对其处理,作了继承。也同时使用了UcmsDBModel。

3)这段代码是有问题的,当要同时 *** 作不同数据库,且有数据有效性的时候,就会发现前面的一个成功了,后面的一个失败了。怎么办呢?EF的事务机制显然已经满足不了程序的要求了,怎么办呢?加TransactionScope吧。

4)于是乎就有了这样一段代码:

namespace Seal_Services

{

public class seal_testServer : BaseServer<seal_test>, Iseal_usersServer

{

public void TTTT()

{

using (TransactionScope scope = new TransactionScope())

{

try

{

seal_test test = new seal_test()

{

name = "1111",

age = 1

}

base.AddEntity(test)

base.db.SaveChanges()

BaseUCMSServer<au_Role>ucmsserver = new BaseUCMSServer<au_Role>()

au_Role role = new au_Role()

role = ucmsserver.FindEntitie(c =>c.id == 7)

role.role_name = "BBBBBBBBBBB"

ucmsserver.UpdateEntity(role)

ucmsserver.db.SaveChangesForUCMS()

scope.Complete()

}

catch (System.Exception ex)

{

throw ex

}

}

}

}

}

5)可还是有问题呀,在处理第二个Server时会抛出异常“ 基础提供程序在 Open 上失败 ”。然而可以肯定的是,数据库链接字符串是正确的。可却报错了,这是为什么呢?【这是我电脑环境上的一个坑】

6)经过分析(翻了无数百度相同的转贴后...),想到了,会不会有SQL配置相关?导致了TransactionScope的使用失败?

7)打开 Sql Server Configuration Manager时,我看到SQL Server服务,显示的是:远程过程调用失败。这个???既然失败,那就让它正确。于是:打开 控制面板-卸载 找到 Express LocalDB。坚定的将其【卸载】。返回程序中,再执行。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8564249.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-18
下一篇2023-04-18

发表评论

登录后才能评论

评论列表(0条)

    保存