3
我有兩個類子查詢問題
由名稱:人與資產
由關係型:一對多(一人由許多資產)
我寫了一個查詢通過使用子查詢linq.Nhibernate 2.2
var sub_q = from Asset a in SessionInstance.Linq<Asset>()
select a.Person.Id;
var q = from Person p in SessionInstance.Linq<Person>()
where(sub_q.Contains(p.Id))
select p;
List<Person> list = q.ToList<Person>();
我看到在執行時間一個異常 例外的信息是:代碼應該不可達
當然下面的查詢是正確
var sub_q = from Asset a in SessionInstance.Linq<Asset>()
select a.Person.Id;
List<Person> personList = sub_qsub_q.ToList<Person>;
var q = from Person p in SessionInstance.Linq<Person>()
where (personList.Contains(p.Id))
select p;
List<Person> list = q.ToList<Person>();
但不適合性能
有爲什麼要使用NHibernate 2特別的理由。 x而不是3.x? 3.x中的LINQ提供程序比2.x中的更強大 –