0

ラムダを使用してLinqで次のクエリを変換するにはどうすればよいですか?

SELECT DISTINCT Registro, COUNT(Registro) as qnt 
FROM XML_Relatorio
WHERE Arquivo = 'redenet.xml' 
AND TipoErro <> 'Imovel Inserido' 
AND TipoErro <> 'TI'
AND DataHora BETWEEN '01-01-2012' AND '02-01-2012' 
GROUP BY Registro 
ORDER BY Registro

次のコードを試していますが、LambdaでLINQをビルドするために助けが必要です

IQueryable<XML_Relatorio> quantidadeErro = db.XML_Relatorios
    .Where(a => a.Arquivo == "redenet.xml" 
           && a.TipoErro != "Imovel Inserido" 
           && a.TipoErro != "TI");
4

1 に答える 1

1

DataHoraフィールドがDateまたはDateTimeタイプであると仮定します。

// parse the strings to datetime 
var start = DateTime.Parse("01-01-2012");
var end = DateTime.Parse("02-01-2012");

IQueryable<XML_Relatorio> quantidadeErro = db.XML_Relatorios
   .Where(a => a.Arquivo == "redenet.xml" 
       && a.TipoErro != "Imovel Inserido" 
       && a.TipoErro != "TI"
       // and compare them...
       && a.DataHora > start && a.DataHora < end);
于 2012-09-04T18:34:25.543 に答える