2
是否有可能过滤NHibernate中的特定联合子类?NHibernate搜索特定的子类
例如,我有以下类:
Pet { Name }
Cat: Pet { Paws }
Budgie: Pet { Wings }
Person { Pets }
我想创建一个NHibernate的搜索,给我一份有猫的人与4只爪。
我只能似乎能够对宠物的属性约束(名称)...
是否有可能过滤NHibernate中的特定联合子类?NHibernate搜索特定的子类
例如,我有以下类:
Pet { Name }
Cat: Pet { Paws }
Budgie: Pet { Wings }
Person { Pets }
我想创建一个NHibernate的搜索,给我一份有猫的人与4只爪。
我只能似乎能够对宠物的属性约束(名称)...
你应该尝试这样的事情。还没有测试过,所以我不是100%肯定的。
DetachedCriteria fetchCatsWith4Pawns = DetachedCriteria.For<Cat>();
fetchCatsWith4Pawns.Add(Restrictions.Eq("Pawns", 4));
fetchCatsWith4Pawns.SetProjection(Projections.Id());
DetachedCriteria fetchPersonsWithCatsWith4Pawns = DetachedCriteria.For<Person>();
fetchPersonsWithCatsWith4Pawns.CreateCriteria("Pets", "pet").Add(Subqueries.PropertyIn("pet.id", fetchCatsWith4Pawns));
fetchPersonsWithCatsWith4Pawns.GetExecutableCriteria(session).List<Person>();
谢谢!你是对的 :) – Kram 2009-11-19 11:40:06