相关疑难解决方法(0)

如何在Entity Framework 6中禁用模型缓存(Code First方法)

MSDN文档之后我们可以阅读:

然后缓存该上下文的模型,该模型适用于app域中上下文的所有其他实例.可以通过在给定的ModelBuidler上设置ModelCaching属性来禁用此缓存,但请注意,这会严重降低性能.

问题是模型构建器不包含任何名为ModelCaching的属性.

如何禁用模型缓存(例如,在运行时更改模型配置)?

c# caching ef-code-first entity-framework-6 ef-model-builder

14
推荐指数
2
解决办法
4443
查看次数

永远不会调用OnModelCreating

我正在开始使用实体框架.问题是我的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);
        }
    }
Run Code Online (Sandbox Code Playgroud)

连接字符串

 <add name="TestDBConnectionString"
      connectionString="Data Source=(LocalDB)\v11.0;Initial Catalog=TestDB;Integrated Security=true"
      providerName="System.Data.SqlClient"/>
Run Code Online (Sandbox Code Playgroud)

我打算在打电话时进入OnModelCreating:

 using (var context = new TestContext())
        {

        }
Run Code Online (Sandbox Code Playgroud)

我犯错误的地方?

c# entity-framework

8
推荐指数
3
解决办法
1万
查看次数