我开始使用 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

09-20 11:48