Criteria API を使用して、次の HQL クエリをコーディングしようとしています。
var userList = _session
.CreateQuery("select u from User u where u.Role.ID=3 and u.Customer.ID=:cID")
.SetInt32("cID", 1)
.List<User>();
(3 つの NHibernate オブジェクト: ユーザー (ID、名前、役割、顧客)、役割 (ID、名前)、顧客 (ID、名前))。
次のことを試しましたが、NHibernate が Role に関連付けられた Customer を見つけようとするため、機能しません。
var userList = _session
.CreateCriteria(typeof(User))
.CreateCriteria("Role")
.Add(Restrictions.Eq("ID", 3) )
.CreateCriteria("Customer")
.Add(Restrictions.Eq("ID", 1) )
.List<User>();
それを行う他の方法(うまくいきます!)はありますか?