Linq To Nhibernate 中的子查询问题
我有两个类
(按名称):人员和资产
(按关系类型):一对多(一个人由多个资产)
我使用 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>();
,但对性能没有好处
I have two classes
by Names : Person and Asset
by Relation type : One To Many (one person by many asset)
I wrote a query by subquery using 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>();
I see one Exception in Execution time
Message of exception is : Code supposed to be unreachable
Of course following query is true
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>();
But not is good for Performance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
只要做
Just do