我正在尝试创建一个报告/分析web应用程序,它将使用MVC3,EF和DDD方法。我很难为现有数据库上的聚合表提供实体或对象类。例如,我将Orders和OrderLine作为聚合,将Customers作为实体。这三个对象可以使用DDD方法建模,但如果我想要有一个OrdersAggregate表,它将包含所有细节,如客户姓名,支付类型等。
我应该在这里创建一个包含customername、支付类型等属性的对象类,还是让EF创建他的sql查询并连接相关的表?我担心这里的性能,这将在云和等待大量事务的情况下受到谴责。
有什么建议吗?
发布于 2011-10-20 18:25:35
发布于 2011-10-21 16:39:06
我的经验是,DDD不适合做报告,统计等。一些像Jimmy Nilsson这样的专家告诉你用常规的数据访问绕过你的域。如果您只是想一想,在表示数据时没有太多的域逻辑。这似乎只是为了视图数据而使用ORM、存储库、聚合器等进行分层和DDD风格的开销。
发布于 2011-10-20 18:19:10
我的建议是为此创建一个DTO类,并使用从SQL命令(手工)返回的dataset填充您的连接和关系。
这只是一个建议,因为我在一个类似的问题中使用了这种方法。
https://stackoverflow.com/questions/7831763
复制相似问题