我在我的项目中为Framework 4.0安装了Entity Framework 5.0 RC。但是当我尝试从Views中获取数据时,我得到了错误。 EF尝试为此实体创建表。
答案 0 :(得分:22)
在应用程序启动时使用它来关闭数据库初始化和迁移:
Database.SetInitializer<YourContextType>(null);
答案 1 :(得分:10)
如果要完全关闭数据库初始化/迁移,无论您在哪个项目中使用Context,都可以向上下文添加静态构造函数以调用初始化程序。 这可确保在首次构建/使用上下文之前调用SetInitializer。
public class YourContext : DbContext
{
static YourContext()
{
// don't let EF modify the database schema...
Database.SetInitializer<YourContext >(null);
}
public YourContext() : base("name=YourContext")
{}
...
}
但是,如果您只想在少数几个项目中执行此操作,那么最好通过应用程序启动明确地执行此操作 - 例如在正常的IoC设置期间,如Ladislav建议的那样。