我在我的web应用程序中使用ASP.NET MVC5,实体框架。预计会出现复杂的业务逻辑,因此需要基于单个业务关注点实现代码分离。我正在使用Code First与现有的数据库方法。我已经在设计向导中创建了3个ADO.NET实体数据模型。因此,将dbContext与其模型分开。当我创建第三个dbContext时,我的问题出现了,它具有来自我最初创建的模型之一的一个表共享。错误是用户代码未处理元数据异常。我相信是与元数据有关,但不确定如何处理这个问题?
我试图实现的是,如果一个网页(一个业务功能)只有两个表,为什么在内存中加载整个数据加上解耦将提高可维护性和灵活性,在不干扰现有代码的情况下扩展应用程序!
发布于 2013-12-11 14:36:55
使用有界上下文的关键是使用
modelBuilder.Ignore<MyUnNecessaryEntity>();
和/或
Database.SetInitializer(新ContextInitializerNone());
我喜欢这样的想法,只有一个上下文负责保持一组表的一致性。其他上下文可以使用相同的POCO定义访问这些表。它们可以是pocs的子集。上下文被缩减,并且或没有初始化器。
在MSDN上有一篇来自Julie Lerman的关于有界上下文的好文章值得一读。
https://stackoverflow.com/questions/20517481
复制相似问题