我有一个非常简单的场景,使用NHibernate:
人有多对一的动物。
我想找一个带狗的人的名单。 我怎样才能做到这一点? 很多
答案 0 :(得分:0)
如果我理解得很好,就像这样:
var list = session.CreateCriteria(typeof(Person))
.CreateCriteria("Animal")
.Add(Expression.Eq("discriminatorField", 1))
.List<Person>();
上面是“Criteria API”,但您可以使用“HQL”,它更像是这样的:
StringBuilder query = new StringBuilder();
query.Append("from Person pers where ");
query.Append("from Animal ani ... and :wichAnimal");
query.Append("and cus.IsActive = :wichAnimal");
IList<Person> list = session
.CreateQuery(query.ToString())
.SetInt16("wichAnimal",1)
.List<Person>();
HTH