Compte tenu de cette cartographie héritage:entités Filtrage par sous-type avec 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>
Comment faire une requête pour toutes les instances de SubUser2
et SubUser3
? Je réalise que je peux le faire:
session.Linq<User>().OfType<SubUser2>()
mais cela ne me permet que de filtrer par un seul type. J'ai essayé ceci:
session.Linq<User>().Where(user => user is SubUser2)
mais qui a abouti à cette erreur:
could not resolve property: of: User
Toutes les idées sur la façon d'exprimer une requête sur plusieurs sous-types?
J'ai le même problème. Savez-vous comment le faire dans les critères? Quand c'est possible dans les critères, il doit être possible de faire fonctionner l'opérateur "is". – Paco