【发布时间】:2011-06-09 17:37:00
【问题描述】:
我有这些实体:
public class Parent
{
public int Foo { get; set; }
public Child C { get; set; }
}
public class Child
{
public string Name { get; set; }
}
我有从数据库中获取所有父实体的查询。然后我将它们保存在内存中,并使用 LINQ 查询过滤它们。
我注意到,当我执行 DB 查询时,NH 在一个查询中选择所有 Parent 实体(当然会填充 Foo 属性),并且对于我使用 LINQ 访问的每个 Parent,NH 会获取每个 Child 的信息。
如何在一个唯一的数据库中获取我需要的所有信息,并在没有它的情况下通过 LINQ 使用数据来生成额外的数据库行程?
我应该使用 AliasToBeanResultTransformer 吗?如果是这样,我是否必须创建一个 DTO 来存储信息,例如:
public class ParentDTO
{
public int Foo { get; set; }
public string ChildName { get; set; }
}
或者我还必须使用 Parent 类吗?
提前致谢
【问题讨论】:
标签: nhibernate entity