1

linq がクエリから行をドロップする場所を見た人はいますか?

データベースにクエリを実行すると

select * from staging_flowrates where flowdate between '4/16/2012' and '4-22-2012'

29 件のレコードが返されました。これは予想どおりです。

linq でこのプロシージャを呼び出すと、25 レコードが取得されます。私は非常に多くの異なる方法でそれを行いましたが、それらはすべて29未満の結果を返します

List<weekly_invoice_dataResult> meterdata = flowRateDB.weekly_invoice_data(173,    date.AddDays(-8), date.AddDays(-2)).ToList();}

また

var meters = from c in flowRateDB.staging_flowrates
             where c.FlowDate >= date.AddDays(-8) && c.FlowDate <= date.AddDays(-2)
             select c;

これらはすべて 25 行を返しますが、ADO に戻ってカウントを行うと 29 行になります。約 6 年間 linq を使用していますが、これに気付いたことはありません。

何か案は?

マット

4

1 に答える 1

0

SQL Server Profiler を起動して、実行された正確な SQL を取得することをお勧めします。この SQL を取得して、SSMS で自分で実行します。私の推測では、実行されたクエリが何らかの形で間違っており、その理由がわかります。

1 つ確かなことは、LINQ が行を削除していないということです。その理由は、実行された SQL です。

于 2012-04-24T19:35:14.380 に答える