【问题标题】:nhibernate linq: projection to DTO and columnsnhibernate linq:投影到 DTO 和列
【发布时间】:2010-11-15 16:22:03
【问题描述】:

我最近将我的 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,这可能对数字有所帮助 查询,但据我所知,这意味着完整的对象将 为我需要的每个展平字段返回。

有没有办法让我尽可能少地选择投影所需的列数,而不是将完整的对象图加载到项目中?

谢谢, 克里斯

【问题讨论】:

    标签: nhibernate linq-to-nhibernate


    【解决方案1】:

    这一定与您对结果的使用有关(例如多次迭代 IQueryable)、与映射有些奇怪或从示例中删除的某些复杂性。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-25
      • 1970-01-01
      • 2018-03-05
      • 1970-01-01
      • 2015-05-29
      相关资源
      最近更新 更多