【发布时间】:2011-09-29 13:44:07
【问题描述】:
似乎 Code First DbContext 在编译期间真的使用了给定的 ConnectionString?我什至不知道这怎么可能,但对我来说似乎是这样。如果我关闭本地 SQL Server,我会收到错误消息“无法获取 DbContext 类型的 MetadataWorkspace...”。打开 SQL Server,一切编译正常。
这是我的上下文的一部分(我正在使用现有的数据库,是的,我知道,实际上并不是首先编写代码)
public class MyContext : DbContext
{
public MyContext() : base("MY_DYNAMIC_CONNECTIONSTRING")
{
Database.SetInitializer<MyContext>(null);
}
...
如果真的是这样,那就有大问题了。我怎样才能防止它这样做?如果我使用连接字符串不起作用的单独构建机器怎么办?还是我做错了什么?有什么建议吗?
【问题讨论】:
-
这是在 WCF RIA 服务项目中吗?我看到这个错误只在 RIA 服务+EF4.1 的上下文中提到。我认为它不会发生在“纯”EF 4.1 项目中。我刚刚关闭了我的 SQL Server,我仍然可以编译一个 EF 4.1 控制台项目。尽管如此,我也会对发生的事情感兴趣。
标签: entity-framework ef-code-first connection-string wcf-ria-services code-first