我正在尝试编写LINQ查询来获取一些数据。我试图转换为LINQ的SQL查询是:
SET HApps = (SELECT COUNT(1)
FROM [App] r
WHERE EXISTS (SELECT 1
FROM AppStatus laa
WHERE laa.AppID = r.AppID
AND laa.AppCode = 3))
有没有办法在LINQ中编写Exist子句?
编辑: 我的情况与这个答案没什么不同,因为我必须得到计数。我试图做这样的事情,但它没有工作
from r in
(from r in context.App
where
(from laa in context.AppStatus
where
laa.AppId == r.AppId && laa.AppId == 3
select new
{
Column1 = 1
}).FirstOrDefault().Column1 != null
select new
{
Column1 = 1,
Dummy = "x"
})
group r by new {r.Dummy}
into g
select new
{
Column1 = g.Count()
};
答案 0 :(得分:0)
根据您的Sql和DbSets的命名,您可以执行此操作(它是Lamda)。
context.App.Count(x => context.AppStatus.Any(y => y.AppId == x.AppId && y.AppId ==3));
我不知道你的c#代码下面有什么问题,而且你的sql语句中没有对它或相应的Sql的解释,所以我将忽略它。