この継承マッピングを考えると:
<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
複数のサブタイプに対してクエリを表現する方法についてのアイデアはありますか?