如何禁用entity framework4.3中的模型兼容性检查?
我正在使用EF 4.3,并且有一个上下文需要与使用EF Code First 4.3的另一个库生成的数据库进行通信。 上下文抛出一个exception说明
自创build数据库以来,支持“上下文”上下文的模型已经发生了变化。 考虑使用Code First Migrations来更新数据库
在EF 4.1中,可以通过从模型构build器中删除IncludeMetadataConvention
来将其删除。 然而,在4.3中这个惯例已经被废弃了,不再有效果。
我怎么能EF 4.3上下文对由不同的上下文构build的EF 4.3生成的数据库? 我发现唯一的select(这是远远不是理想的)是删除元数据表,从而导致两个上下文假设数据库不由EF生成。
PS:我知道这种情况可能会引起我为什么需要这样做的问题; 我知道这是远远不够理想,但放心,这是我需要解决的问题,并有限的select,以横向工作。
将初始null
设置为null
将跳过模型兼容性检查。
Database.SetInitializer<MyContext>(null);
对于EF 4.3或更高版本
Database.SetInitializer<MLTServerWatcherContext>(null);
或者如果使用旧版本的EF
modelBuilder.Conventions.Remove<IncludeMetadataConvention>();
(我知道他说他使用的是EF 4.3,但我认为这也是很好的select)