私は、ローカル変数またはローカルプロパティは、私が可能であり、他のどのようなオプションを知りたいので、NHibernate QueryOverエイリアスとして使用できるものは何ですか?
ClassA _aliasA;
_session.QueryOver(x => x.ClassA,() => _aliasA);
または
ClassA AliasA { get; set; }
_session.QueryOver(x => x.ClassA,() => AliasA);
などの別名として使用することができることがこれまでにわかっています。同様に、外部クラスのプロパティは有効なオプションですか?
class ClassGenericAliases
{
ClassA Class { get; set; }
}
_session.QueryOver(x => x.ClassA,() => ClassGenericAliases.ClassA);
スタティックはエイリアスとして使用できますか? エイリアスを宣言するための他のオプションはありますか?
これらのエイリアスを再利用する方法を探しています。それは良い習慣ではないのですか?それらの結合を何度も書き直さなければならないことは、何度も繰り返されます。 – Jonn
あなたは複雑な結合をあまり多くはしてはいけません。そうでなければ、解決しようとしていることを二重にするべきだと思います。 Eagerフェッチをクエリーに再利用するためのフェッチ戦略を書くことができます。それらのクエリーを再利用できるようにすることはできません。メソッドからIQueryOverを返し、それに基準を追加することができます。しかし、一般的には、エイリアスを再利用可能にすることをお勧めしません。 – Phill