Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何让Entity framework在不保存对象的情况下创建/更新数据库表_Asp.net_Entity Framework 4.1 - Fatal编程技术网

Asp.net 如何让Entity framework在不保存对象的情况下创建/更新数据库表

Asp.net 如何让Entity framework在不保存对象的情况下创建/更新数据库表,asp.net,entity-framework-4.1,Asp.net,Entity Framework 4.1,我正在我的类上添加新字段,但我注意到在保存该类的对象之前,不会创建表。这有点烦人,有没有办法强迫它在App start或其他程序上创建该表?我认为您可以使用存储库和工作单元模式 在IUnitOfWork接口中定义的保存方法 public interface IUnitOfWork { void Save(); } 您可以通过以下方式在应用程序启动时强制初始值设定项 protected void Application_Start() { Database.SetInitial

我正在我的类上添加新字段,但我注意到在保存该类的对象之前,不会创建表。这有点烦人,有没有办法强迫它在App start或其他程序上创建该表?

我认为您可以使用存储库和工作单元模式

在IUnitOfWork接口中定义的保存方法

public interface IUnitOfWork
{
    void Save();
}

您可以通过以下方式在
应用程序启动时强制初始值设定项

protected void Application_Start()
{
    Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyContext>());
    (new MyContext()).Database.Initialize(true);
}
受保护的无效应用程序\u Start()
{
SetInitializer(新的DropCreateDatabaseIfModelChanges());
(新建MyContext()).Database.Initialize(true);
}

我相信,除非触摸实体集,否则不会开始创建模型。同意更新/保存很烦人。我相信实体查询也会启动模型创建,这比更新或插入更省事。一个简单的查询,如
contx.SomeEntityset.FirstOrDefault()