EF 4.1 代码首先导致奇怪的(登录)运行时错误

2024-01-06

我首先使用 EF 4.1 代码。遇到一个非常奇怪的情况: 数据库不存在,一旦代码想要对存储库执行查询(也使用存储库模式),就会执行代码

MyRepsitory.Get(whereClause)

我收到此错误:

无法打开数据库“MyDatabase” 由登录请求。登录 失败的。用户“sa”登录失败。

好的!所以我试图找到它的原因并执行了以下操作:在导致错误的行设置一个断点,一旦命中该行,我就从调试(监视)窗口发出针对存储库的另一个查询

MyRepository.GetAll();

这样数据库就创建好了。所以我想:为什么不欺骗数据库(作为解决方法)并向存储库发出此请求?结果:一旦在代码中执行,我就会得到同样的错误!

我究竟做错了什么? 这曾经很有魅力!

EDIT这让我抓狂! 我将模型和一些代码(用于存储库模式)隔离到一个新项目中。尝试执行相同的代码,它可以在这个新项目中运行。这怎么可能?

查看 SQL Serv2008 Exp 的日志,我看到以下错误/事件:

启动数据库“MyDatabase”

将数据库 MyDatabase 的数据库选项 SINGLE_USER 设置为 ON。

错误:18456,严重性:14,状态:38。

用户“sa”登录失败。原因:无法打开明确指定的数据库。 [客户: ]


感谢 Savvas,分享创建新解决方案解决了您的问题这一事实。我在 EF 4.1 中遇到了同样奇怪的问题,删除 VS2010“SUO”文件似乎对我有用。我想我会分享这个以节省其他人从头开始重新创建解决方案的时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EF 4.1 代码首先导致奇怪的(登录)运行时错误 的相关文章

随机推荐