NHibernate QueryOver は初めてで、一般的な方法でやろうとしています。これまでのところ、これは私がやったことです..
//Find one only
public T Find(string propertyName1, string propertyName2, string value1, string value2)
{
using (var session = sessionFactory.OpenSession())
using (var transaction = session.BeginTransaction())
{
return session.QueryOver<T>().Where(d => propertyName1 == value1)
.And(f => propertyName2 == value2).SingleOrDefault();
}
}
これが正しいかどうかはわかりません。私がやろうとしているのは、ジェネリック クラスを使用して、2 つのプロパティを使用してデータベースに保存されたオブジェクトを取得することです。
ご覧のとおり、 と を渡しましproperty1
たproperty2
。value1
これら 2 つのプロパティを使用して、データベースにクエリを実行し、プロパティがおよびvalue2
パラメータと同じ値を持つオブジェクトを見つけることができるかどうか疑問に思っています。
これは一般的なものであるため、どのプロパティを基準として使用する必要があるかをクエリに伝える方法を見つける必要があります。これを行う正しい方法は何ですか?みんなありがとう。