从多个查询中填充DTO

时间:2010-10-08 18:16:26

标签: oracle nhibernate criteria dto

我有40多个属性的DTO。但是为了填充所有属性,我需要执行4个单独的查询。我的第一个查询是负责获取基本信息。对于返回的每一行,我根据主查询中给出的id(N + 1问题)再运行3次查询。我可以设置使用急切加载,但后来我加载了数千个我不需要的对象。

我应该拆分我的DTO并为我运行的每个查询创建一个单独的DTO然后链接然后通过id将它们全部绑定到一个中央DTO吗?

我正在设想这样的最终DTO。

public class FooDto
{
    public string Foo { get; set; }
    public string Bar { get; set; }
    public FirstDto FirstQueryResults { get; set; }
    public SecondDto SecondQueryResults { get; set; }
    public ThirdDto ThirdQueryResults { get; set; }
}

有更好的解决方法吗?我使用的是Oracle,NHibernate不支持多标准。请注意,我正在加入大部分数据。当我需要使用一组完整的新标准查询数据时,就会出现问题。

1 个答案:

答案 0 :(得分:2)

如何创建一个连接数据的VIEW,一次性提供40个属性,并以DTO为基础 - 无论DTO是什么; - )