Entity framework 域驱动设计在.Net实体框架中的应用

Entity framework 域驱动设计在.Net实体框架中的应用,entity-framework,orm,domain-driven-design,Entity Framework,Orm,Domain Driven Design,我正在学习领域驱动设计,我看到了一些概念,如聚合、UnitOfWork,。。。我正在阅读包括基于java的应用程序在内的书籍。但实体框架是在.Net框架中成长起来的。实体框架包括DbContext,IDbSet 在.Net中是否有一个很好的应用领域驱动设计的示例 与概念相匹配我个人认为微软西班牙公司在提供学习范例方面做得很好。这不是为“胆小鬼”准备的,也不是“唯一的方法”,但你可能会发现这很有趣。看看?老实说,我认为您不应该在域模型中使用EF实体。EF实体应该隐藏在存储库后面,并且应该是数据访问

我正在学习领域驱动设计,我看到了一些概念,如聚合、UnitOfWork,。。。我正在阅读包括基于java的应用程序在内的书籍。但实体框架是在.Net框架中成长起来的。实体框架包括
DbContext
IDbSet

在.Net中是否有一个很好的应用领域驱动设计的示例


与概念相匹配

我个人认为微软西班牙公司在提供学习范例方面做得很好。这不是为“胆小鬼”准备的,也不是“唯一的方法”,但你可能会发现这很有趣。看看?

老实说,我认为您不应该在域模型中使用EF实体。EF实体应该隐藏在存储库后面,并且应该是数据访问层的一个实现细节。@Steven我100%同意……除非使用EF代码优先的方法。在这种情况下,一个干净的领域是完全可以实现的。您将实体保持为POCO,并将映射与DbContext和其他与框架相关的内容一起移动到基础架构代码中的单独类中。简言之,您没有EF实体这样的东西,您有基础结构代码知道如何持久化的域类。@dmusial但即使先使用代码,也很难获得真正的域模型,因为聚合隐藏了它们的大部分内部。如果可以,您将有一个相当复杂的映射。如果我创建一个包含模型实体的模型库,“老实说,我认为您不应该在域模型中使用EF实体”。我可以在实体框架中使用它吗?但是数据库是存在的。我想你可以先用EF和代码。编写映射到实体的自己的db连接是一项巨大的工作。。。所以要实事求是,适应你的场景。我不知道你是否读过ScottMillett写的“专业ASP.Net设计模式”一书。这本书中有一个真正的应用程序,名为Agath's Storefront。此应用程序使用NHibernate和域驱动设计。在此应用程序中创建了一个模型库,模型通过XML文件映射到Nhibernade DLL中。但未使用实体框架。