linq to sql が「ボンネットの下」でどのように機能するかに関係しているように見える linq-to-sql エラーがわかりません。
日付範囲内の値を探す linq to sql クエリがあります。照会されたすべてのフィールドは、基になる DB に null 値がありません。開始日と終了日の差が 48 時間以内の場合、クエリはエラーを返します。nullable object must have value .
Dim startDate As Date = New Date(2013, 1, 5, 0, 0, 1)
Dim endDate As Date = New Date(2013, 1, 6, 23, 59, 59) //date interval less than 48 hours
Dim count As Integer = (From l In myDB.myTable Where l.LabName = labToCheck And l.SuccessfulImport = True And l.DateProcessed > startDate And l.DateProcessed < endDate Select l.Epi).Sum //Nullable object must have a value.
一方、日付が 48 時間以上離れている場合 (以下の例では、2 行目が異なります)、エラーはスローされません。
Dim startDate As Date = New Date(2013, 1, 5, 0, 0, 1)
Dim endDate As Date = New Date(2013, 1, 7, 23, 59, 59) //date interval more than 48 hours
Dim count As Integer = (From l In myDB.myTable Where l.LabName = labToCheck And l.SuccessfulImport = True And l.DateProcessed > startDate And l.DateProcessed < endDate Select l.Epi).Sum
どうしたの?LINQ to SQL は時間値を無視しますか? 関連する時間値に関係なく、2013 年 1 月 5 日の DB 内のすべての日時は同等ですか? これがこのエラーの私の解釈です。linq to sql が時間の値を無視すると、1/5/13 よりも大きく 1/6/13 よりも小さい可能性のある値がないため、次のメッセージが生成されます: nullable object must have error .
どうしたの?