【问题标题】:EF 6 plus several db contextsEF 6 加上几个数据库上下文
【发布时间】:2014-09-14 12:47:55
【问题描述】:

看着像this 这样的问题,我倾向于不使用几个dbcontexts。但是,看看一些示例代码仍然会很好。有人知道使用多个 dbcontexts 和工作单元(可能还有 asp.net mvc)的企业级开源实现(c#)吗?

【问题讨论】:

  • 除了链接问题中的信息之外,在 EF6 中,您可以使用多个 DbContext 进行迁移并将它们放在一个项目中。在运行迁移时,您需要指定所讨论的上下文。
  • @trailmax - 我知道谢谢。

标签: c# .net asp.net-mvc entity-framework


【解决方案1】:

正如您使用了 Enterprise 这个词,我将向您指出 Julie Lerman,从 DDD 有界上下文的角度来看,他对多个 DbContexts 做了一些很好的介绍。

这是她在此主题上写的一篇相对较新的 MSDN 文章:http://msdn.microsoft.com/en-us/magazine/jj883952.aspx

她还在 Pluralsight 上发布了一系列精彩的截屏视频,涵盖企业对实体框架的使用,包括多个上下文的使用。我不会包含任何链接,因为这是一项付费服务​​。

从代码示例的角度来看,查看 Microsoft 模式和实践中的参考 CQRS 架构,它使用有界上下文(作为多个 DbContext)将复杂系统分解为单独的域。 http://msdn.microsoft.com/en-us/library/jj554200.aspx

参考 CQRS 架构的代码在这里:https://github.com/mspnp/cqrs-journey-code

希望其中的一些对您有用。

【讨论】:

  • 如果您对实体框架有任何疑问,答案应该始终是 Julie Lerman。
  • 我读了(部分)她的书,谢谢。我知道她关于 dbcontext 和有界上下文的博客。我在这里提到了这一点:stackoverflow.com/questions/23949971/… 但是,根据一些 ddd 原教旨主义者的说法,也存在一些差异(请参阅提到的 SO 帖子中的 cmets)。无论如何,我看不到 Julie 如何实现工作单元模式(也跨 dbcontexts/有界上下文)。
  • 感谢您提供问题的链接 - 您就该领域提出了一些非常有趣的问题。期待稍后喝杯茶并阅读它们
  • EF 中的工作单元已在内部实现,无需为 DbContext 创建多余的包装器。如果您在有界上下文中谈论 UoW,这对您来说是一个提示,这些实体可能应该留在一个上下文中。
  • @LongboatHarry - 感谢您如此积极 - 与当今大多数 SO 用户相比非常令人耳目一新(-:
猜你喜欢
  • 1970-01-01
  • 2015-04-21
  • 1970-01-01
  • 1970-01-01
  • 2015-10-09
  • 2020-10-05
  • 1970-01-01
  • 2021-03-22
  • 1970-01-01
相关资源
最近更新 更多