次の SQL クエリを linq に変換するにはどうすればよいですか? 試されているのはこれ
SELECT COUNT(DISTINCT SampleDateTime) AS Total
FROM dbo.PrecisionArchive
WHERE AgencySourceId = 7 AND EventType IN('R', 'ONS')
次の SQL クエリを linq に変換するにはどうすればよいですか? 試されているのはこれ
SELECT COUNT(DISTINCT SampleDateTime) AS Total
FROM dbo.PrecisionArchive
WHERE AgencySourceId = 7 AND EventType IN('R', 'ONS')
このようなものが動作するはずです:
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();