Учитывая это отображение наследования:Фильтрующие объекты по подтипу с NHibernate.Linq
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="User" table="[User]" abstract="true">
<joined-subclass name="SubUser1" table="SubUser1">
<key column="UserId" />
...
</joined-subclass>
<joined-subclass name="SubUser2" table="SubUser2">
<key column="UserId" />
...
</joined-subclass>
<joined-subclass name="SubUser3" table="SubUser3">
<key column="UserId" />
...
</joined-subclass>
</class>
</hibernate-mapping>
как я запрос для всех экземпляров SubUser2
и SubUser3
? Я понимаю, что смогу это сделать:
session.Linq<User>().OfType<SubUser2>()
, но это позволяет мне фильтровать только одним типом. Я попытался это:
session.Linq<User>().Where(user => user is SubUser2)
но в результате этой ошибки:
could not resolve property: of: User
Любые идеи о том, как выразить запрос в отношении нескольких подтипов?
У меня такая же проблема. Вы знаете, как это сделать в критериях? Когда это возможно в критериях, должно быть возможным заставить оператора «is» работать. – Paco