【发布时间】:2014-12-19 06:56:04
【问题描述】:
我的查询如下
`Select * from daps_user_activity where Userid In (Select Userid from daps_portaluser where EMR_ID = 24855) `
linq 中的等效查询是什么,请帮帮我...
【问题讨论】:
-
如果您将原始查询修改为 JOIN 两个表而不是使用子查询,将会容易得多。
我的查询如下
`Select * from daps_user_activity where Userid In (Select Userid from daps_portaluser where EMR_ID = 24855) `
linq 中的等效查询是什么,请帮帮我...
【问题讨论】:
试试这个,在这种情况下最好使用join,而不是子查询:
var results = (from a in daps_user_activity
join u in daps_portaluser on a.Userid equals u.Userid
where u.EMR_ID == 24855
select a).ToList()
【讨论】:
或者,你可以使用这个:
var results = (from a in daps_user_activity
from u in daps_portaluser
where u.EMR_ID == 24855
&& a.Userid == u.Userid
select a).ToList()
对我来说,它更清楚地显示了主查询和子查询。
感谢@Bruno Brant Convert SQL Query (with Correlated Subquery) to LINQ in C#
【讨论】: