如何让实体框架在不保存对象的情况下创建/更新数据库表
Posted
技术标签:
【中文标题】如何让实体框架在不保存对象的情况下创建/更新数据库表【英文标题】:How to get Entity framework to create/update the Database table without saving an object 【发布时间】:2012-08-07 23:56:59 【问题描述】:我正在为我的班级添加新字段,但我注意到在我保存该班级的对象之前不会创建表。这有点烦人,有没有办法强制它在 App start 时创建那个表?
【问题讨论】:
我相信除非您接触实体集,否则模型创建不会开始。同意更新/保存很烦人。我相信实体查询也会开始创建模型,这比更新或插入更不烦人。像contx.SomeEntityset.FirstOrDefault(<some simple expression>);
这样的简单查询
【参考方案1】:
你可以通过Application_Start
强制初始化器
protected void Application_Start()
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyContext>());
(new MyContext()).Database.Initialize(true);
【讨论】:
【参考方案2】:我认为您可以使用存储库和工作单元模式。
Using Repository and Unit of Work patterns with Entity Framework 4.0
在IUnitOfWork接口中定义了Save方法。
public interface IUnitOfWork
void Save();
【讨论】:
以上是关于如何让实体框架在不保存对象的情况下创建/更新数据库表的主要内容,如果未能解决你的问题,请参考以下文章