本質的に、私はNHibernateで次のことをしようとしています(理解しやすいようにしようとしています):
SELECT p.*
FROM ChildTable c
INNER JOIN ParentTable p ON p.Id = c.ParentId AND p.Language = :language
そしてもちろん、の型のp.*
プロパティとして欲しいです。ParentObject
ChildObject
ChildTable には Language 列がありません。したがって、:language はプログラムから定数として取得されます。
c.ParentId から ParentObject に変換して元に戻す UserType を作成することを考えていました (変換は言語に依存します)。
それは可能ですか?
私はすでに他の何かのために単純な IntToString IUserType を実行しました。
session.Get<ParentClass>(idLangIndexObject)
その場合、メソッドで法線を実行するだけですか、それとも内部NullSafeGet
のいずれかに影響がありますか?IUserType
私もやってみApplyFilter()
ましたParentClassMapping
(1つの言語だけに削減しようとしています)が、References()
内部でGetを使用しているようで、Getは無視しますApplyFilter()
他にもっとエレガントなアイデアはありますか?
なんらかの方法があるに違いありません。結局のところ、これはロケット科学ではありません。