Linq to Entities, запрашивающий типы данных Nullable - PullRequest
3 голосов
/ 22 сентября 2010

У меня есть сценарий, в котором мы делаем мягкое удаление строк в базе данных. Я хочу включить строки, которые не удаляются. Как я могу добиться этого с помощью LINQ.

Say

from c in context.ASDSet
where (c => c.DeletedFlag.HasValue && !c.DeletedFlag.Value)

Но я не смог добиться результата.

Я хочу, чтобы результирующий SQL имел форму:

select *  from table where IsNull(column, 0) = 0

1 Ответ

7 голосов
/ 22 сентября 2010

Звучит так, как будто вы на самом деле хотите:

var query = Context.ASDSet.Where(c => c.DeletedFlag == null || 
                                      c.DeletedFlag.Value == false);

Другими словами, это включает строк, где флаг равен нулю, тогда как ваш текущий запрос исключает строк, где флаг равен нулю.

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