Учитывая это отображение наследования:
<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
Есть идеи, как выразить запрос к нескольким подтипам?