我开始使用 Entity Framework 。
问题是我的OnModelCreating方法从未调用过。
这是我的上下文类:
public class TestContext : DbContext
{
public TestContext()
: base("name=TestDBConnectionString")
{ }
public DbSet<WorkItem> WorkItems { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
}
连接字符串
<add name="TestDBConnectionString"
connectionString="Data Source=(LocalDB)\v11.0;Initial Catalog=TestDB;Integrated Security=true"
providerName="System.Data.SqlClient"/>
我希望在致电时进入OnModelCreating:
using (var context = new TestContext())
{
}
我在哪里犯错?
最佳答案
尝试将新实体添加到上下文中并保留更改。
喜欢
using (var context = new TestContext())
{
context.WorkItem.Add(new WorkItem()); //Construct valid entity
context.SaveChanges();
}
默认策略是,如果不存在,它将尝试创建数据库。至少会抛出异常。
或者您可以强制它在启动时创建数据库
https://msdn.microsoft.com/en-us/library/system.data.entity.database.initialize(v=vs.113).aspx