【发布时间】:2013-04-16 22:46:14
【问题描述】:
我有这两个对象:
public class Parent
{
public virtual int Poid { get; set; }
public virtual IEnumerable<Child> Child { get; set; }
}
public class Child
{
public virtual int Poid { get; set; }
public virtual string Name {get; set;}
}
我想使用 NHibernet QueryOver API 根据 Parent Id 和 Child Id 获取孩子,这意味着给我 Id = x 的孩子属于 Id = y 的父母。
我尝试过这样的事情:
return Session.QueryOver<Parent>().Where(p => p.Poid == y)
.JoinQueryOver(p => p.WishesLists)
.Where(c => c.Poid == x)
.SingleOrDefault<Child>();
但我遇到了一个异常,无法将 Child 类型的对象转换为 Parent。
QueryOver 的正确形式如何以父实体开头但返回子实体?
【问题讨论】:
-
Child是否有对父级的映射引用?也就是说,Child.Parent可用吗? -
感谢您的回复,但不是没有,孩子不必知道父母。我用@jamie-ide 的答案解决了任何问题。
标签: nhibernate queryover