レコードを選択しようとしています。 データベースでは、1月と4月の2つのレコードがあります。LINQ Entity Frameworkレコードを選択
1月と4月の両方の値を取得する必要がありますが、取得するのは反復(月1と月4) 。
EX:dB月間1の値:55と月4の値は22ですが、コードの反復中に月1と4の両方で値55を取得します。
for (var month = 1; month <= 12; month++)
{
var itemMonth = month;
var itemAuditReport = proxy.itemAuditReports.SingleOrDefault(i => i.SKU == itemSku && i.Month == itemMonth && i.Year==itemYear);
//
}
if (itemAuditReport == null)
{
// Do Something
}
私には何かが欠けていますか?
コードは問題ありません。データをダブルチェックするか、次のSQLを実行して同じ結果が得られるかどうかを確認してください。 select * from itemAuditReport iここで、i.SKU = itemSku && i.Month = 1 && i.Year = itemYear; select * from itemAuditReport iここでi.SKU = itemSku && i.Month = 4 && i.Year = itemYear; –
月を1と4として明示的に指定してコードを実行すると、正しい結果が得られます。だから間違いなく何かがコードに間違っている。 – Nanu