gpt4 book ai didi

c# - Linq To Nhibernate 中的子查询问题

转载 作者:行者123 更新时间:2023-11-30 18:41:13 24 4
gpt4 key购买 nike

我有两个类(class)

按名称:个人和 Assets

按关系类型:一对多(一个人按许多 Assets )

我使用 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>();

但不利于性能

最佳答案

就这样

var q= (from Asset a in SessionInstance.Linq<Asset>()                        
select a.Person).ToList();

关于c# - Linq To Nhibernate 中的子查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7056777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com