我有这两个对象:
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 根据父 ID 和子 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 从父实体开始但返回子实体的正确形式如何?