如何将SQL查询转换为LINQ?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将SQL查询转换为LINQ?相关的知识,希望对你有一定的参考价值。
如何将以下SQL查询转换为linq?这是经过尝试的
SELECT COUNT(DISTINCT SampleDateTime) AS Total
FROM dbo.PrecisionArchive
WHERE AgencySourceId = 7 AND EventType IN('R', 'ONS')
答案
你可以使用:
var total = dbo.PrecisionArchive.Where(p => p.AgencySourceId == 7)
.Where(p => p.EventType == "R" || p.EventType == "ONS")
.Select(p => p.SampleDateTime)
.Distinct()
.Count();
另一答案
这样的事情应该有效:
var result =
(from x in dbContext.PrecisionArchive
where x.AgencySource == 7 &&
(x.EventType == "R" || x.EventType == "ONS")
select x.SampleDateTime)
.Distinct()
.Count();
您也可以尝试使用Contains
来表示IN
子句,但我不相信Linq-to-SQL支持它:
var result =
(from x in dbContext.PrecisionArchive
where x.AgencySource == 7 &&
new[] { "R", "ONS" }.Contains(x.EventType)
select x.SampleDateTime)
.Distinct()
.Count();
以上是关于如何将SQL查询转换为LINQ?的主要内容,如果未能解决你的问题,请参考以下文章