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

标签 ef-code-first entity-framework-4.1

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

MyRepsitory.Get(whereClause)

我收到此错误:

Cannot open database "MyDatabase" requested by the login. The login failed. Login failed for user 'sa'.



好的!所以我试图找出它是由什么引起的并执行以下操作:在导致错误的行上设置一个断点,一旦命中该行,我就从调试(监视)窗口发出另一个针对存储库的查询
MyRepository.GetAll();

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

我究竟做错了什么?
这曾经像魅力一样工作!

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

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

启动数据库“MyDatabase”

对于数据库 MyDatabase,将数据库选项 SINGLE_USER 设置为 ON。

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

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

最佳答案

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

关于ef-code-first - EF 4.1 代码首先导致奇怪的(登录)运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5903698/

相关文章:

entity-framework - Entity Framework 代码优先计算属性

entity-framework-4 - 使用 C# 和 Entity Framework CTP 4 的领域建模问题

c# - 我如何才能找到其泛型类型派生自给定基类型的所有 DbSet?

asp.net - 使用EF 4.1部署数据库更改

entity-framework - 有没有办法在不处理和重新实例化 DbContext 的情况下重置它?

entity-framework - Entity Framework 代码优先 : Adding to Many to Many relationship by ID

c# - MVC3/EF - 更改模型...数据库架构不匹配

database - 我们什么时候应该将 DbSet 与 EF Code First 一起使用

sql - 无法删除数据库,因为它正在使用 + EF 代码优先

c# - 如何在 EntityTypeConfiguration 类中设置外键