当我将MYENTITY修改为MyEntitity时,不会调用DbContext.OnModelCreating

时间:2013-09-05 20:07:09

标签: entity-framework entity-framework-4.1 dbcontext fluent

我有一个使用经典实体框架的大型解决方案。

我正在添加Fluent API,它依赖于DbContext.OnModelCreating中定义的映射。从UnitTest项目运行时一切都很好,因为它没有定义EDMX。

我的主要Web项目仍在使用EDMX(可能暂时没有消失),我正在添加一些使用Fluent API的视图。但是,当我打开我的视图时,我发现从未调用过OnModelCreating,因此我引入的所有流畅映射都不会被添加。

我确实为EDMX和DbContext定义了单独的连接字符串。

我怎样才能确保调用OnModelCreating,即使是使用经典EDMX模型的应用程序?

更新

只要我的Entity类的名称与表的名称相同,就从我的主站点调用OnModelCreating !!这非常令人困惑.. 一旦我改变了类的情况(MYENTITY到MyEntity),就不再调用OnModelCreating !! ,因此所有的映射都不会应用,因此get失败。 。

更新2

令人惊讶的是,如果我尝试重命名一个属性,就会发生同样的事情。

如果我将实体对象的属性从SHORT_NAME更改为ShortName,并在OnModelCreating更新我的定义...

modelBuilder.Entity<MYOBJECT>()
            .Property(f => f.ShortName)
            .HasColumnName("SHORT_NAME");

OnModelCreating永远不会被调用

0 个答案:

没有答案