我有两个班级
按名称:人和资产
按关系类型:一对多(一个人多资产)
我使用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>();
但对性能不利
答案 0 :(得分:0)
只做
var q= (from Asset a in SessionInstance.Linq<Asset>()
select a.Person).ToList();