Linq to Entity получает дату от DateTime - PullRequest
10 голосов
/ 06 июля 2010

var islemList = (из isl в сущностях. Islemler где ( isl.KayitTarihi.Date > = dbas && isl. KayitTarihi.Value.Date <= dbit) выберите isl); </p>

Выдает ошибку: дата не поддерживается в LINQ to Entities ... Как я могу получить дату в linq.

Ответы [ 3 ]

29 голосов
/ 06 июля 2010

Использование EntityFunctions.TruncateTime.

1 голос
/ 06 июля 2010

, если KayitTarihi - столбец даты в БД (а dbas и dbit - DateTime), используйте:

var islemList = (from isl in entities.Islemler where (isl.KayitTarihi >= dbas && isl.KayitTarihi <= dbit) select isl);
0 голосов
/ 06 июля 2010

Свойство .Date не поддерживается в Linq to Entities (хотя оно может поддерживаться в других реализациях Linq).

Я понимаю, что вы хотите сравнить только даты, но нет реальной проблемы со сравнением даты и времени, если значения dbas и dbit являются датами и временем 00:00:00. Возможно, вам придется сместить даты или использовать другие проверки неравенства, чтобы получить правильный интервал, но сравнение будет работать так, как вы предполагаете.

Я бы лично согласился с решением Яндека.

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