Linq to SQL: Предложение Where, сравнивающее Nullable с пустым столбцом даты и времени SQL

Используя 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 , который не находит записи, в которых значение столбца равно null. Изменение его на:

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

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

6
задан Scott Stafford 10 October 2011 в 19:27
поделиться