Как можно использовать метод Subsonic Find<T>
для поиска строк с полем, содержащим значение «null». Для обсуждения давайте предположим, что у меня есть класс ac # с именем «Visit», который содержит обнуляемое поле DateTime с именем «SynchronizedOn», а также давайте предположим, что при дозвуковой миграции созданы соответствующая таблица «Visits» и поле «SynchronizedOn» ,
Если бы я сам написал SQL-запрос, я написал бы что-то вроде:
SELECT * FROM Visits WHERE SynchronizedOn IS NULL
Когда я использую следующий код:
var visits = myRepository.Find<Visit>(x => x.SynchronizedOn == null);
Subsonic превращает его в следующий запрос SQL:
SELECT * FROM Visits WHERE SynchronizedOn == null
, который никогда не возвращает строк.
Я попробовал следующий код, но он выдает ошибку:
visits = repository.Find<Visit>(x => x.SynchronizedOn.HasValue);
Мне удалось использовать следующий синтаксис:
var query = from v in repository.All<Visit>()
where v.SynchronizedOn == null
orderby v.CreatedOn
select v;
visits = query.ToList<Visit>();
, но это не так хорошо, как метод Find<T>
.
Кто-нибудь знает, как я могу указать условие "SynchronizedOn IS NULL" в методе Find<T>
?