Linq to SQL: предложение Where, сравнивающее Nullable <DateTime>со столбцом SQL datetime null - PullRequest
6 голосов
/ 10 октября 2011

Используя C #, Linq to SQL, SQL Server, у меня есть это:

MyTable has a column with a "datetime null" column.

DateTime? aDateTime;

var records = (from row in MyTable where row.StartDate == aDateTime);

И я заметил, что запрос не выполняет то, что я ожидал. В частности, если aDateTime имеет значение null, он запрашивает StartDate = null, а не StartDate IS null, что не находит записи, в которых значение столбца равно нулю. Меняя его на:

where aDateTime.HasValue ? (row.StartDate == aDateTime) : (row.StartDate == null)

работает, но раздражает. Есть ли более простое решение этой проблемы?

1 Ответ

8 голосов
/ 10 октября 2011

Я думаю, Object.Equals(row.StartDate, aDateTime) справится.

В Google есть много об этом .Например, это сообщение .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...