gpt4 book ai didi

nhibernate - nhibernate linq:投影到DTO和列

转载 作者:行者123 更新时间:2023-12-02 04:12:50 24 4
gpt4 key购买 nike

我最近将我的Linq提供程序升级到了新的AST。 (NuGet上的NH3)

与以前的提供者一起,我使用linq进行“内联投影
给我的DTO”
例如

from o in Session.Query<MyObject>() 
select new MyObjectDTO {
Name = o.Name,
SubName = o.OtherObject.Name,
Sub2NAme = o.OtherObject2.Name
}

这会产生一个
SELECT o.Name, sn1.Name, sn2.Name FROM ..... 
JOIN.... JOIN....

声明。

升级提供程序后,我发现很多选择语句
开除。 (我的投影对象比上面更复杂)。
我遇到过Fetch / FetchMany,这可能会对数字有所帮助
的查询,但据我所知,这意味着完整的对象将
请为我需要的每个扁平字段返回。

有没有一种方法可以使选择投影所需的列数最少,而不是将整个对象图加载到项目中?

谢谢,
克里斯

最佳答案

它一定与您对结果的用法有关(例如,对IQueryable进行多次迭代),与映射的关系有些奇怪,或从示例中删除了一些复杂性。

我只是尝试了那个确切的查询,并且只生成了一条SQL语句。

关于nhibernate - nhibernate linq:投影到DTO和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4186434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com