ITNOA
我们正试图创建一个使用实体框架与领域驱动开发风格模式方法的ASP.NET MVC应用4。 正如你可以在我们的领域层的部分看到的,我们有一个复杂的设计。 我们需要懒惰以及渴望方法来加载实体。 不幸的是我们在实体框架这些方法的大问题。
据我们了解,在EF预先加载,我们必须使用Include
方法,让性能和性能等特性的字符串(在Hibernate和Java,我们可以利用成员的注释顶部加载热切,它是如此比这更简单方法)。 但可怕的问题是,我们有继承结构和重多态性,在这些国家,我们没有这是我们应该给予包括,因为我们不知道哪些派生类类的选择,了解其性能应包括做字符串。
例如,你可以看到结果了项目的集合,然后决定将一些组添加到该集合每个小组有一定的群体和领域(如构图模式)。 现在想象一下,我们要加载的结果就像是一个上面谈到。 当我想要写的给定一个字符串包括我不知道这是什么结果的项目组。 因为我们无法预测这些项目组等这些团体应加载项的集合。
this.Items = new List<Item>
{
new Group(
a,
new List<Item>
{
new Field(b),
new Field(c),
new Field(d),
最后我们有一个关键的问题:是专为企业应用程序具有复杂域和DDD的做法实体框架? 如果没有,我们如何遵循Martin Fowler的和埃里克·埃文斯在软件工程和C#中的方法企业级应用?