-3

次の SQL クエリを linq に変換するにはどうすればよいですか? 試されているのはこれ

    SELECT COUNT(DISTINCT SampleDateTime) AS Total
    FROM dbo.PrecisionArchive
    WHERE AgencySourceId = 7 AND EventType IN('R', 'ONS')
4

2 に答える 2

1

このようなものが動作するはずです:

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();
于 2013-10-29T17:03:28.580 に答える