Как получить все записи за последние два дня с текущей даты, используя EF 4? - PullRequest
4 голосов
/ 21 сентября 2011

EF 4 в C #.

У меня есть запрос, на данный момент я могу отфильтровать результат по текущей дате (просто дата, не считая ВРЕМЕНИ).

Мне нужноотфильтровать результат ОТ последних двух дней ДО текущей даты (понятия не имею, как это сделать).

Я попытался в своем запросе currenteDate - 2, но безуспешно.

Не могли бы вы привести пример?Спасибо за ваше время на это.

DateTime currenteDate = DateTime.UtcNow.Date;

                var contents = from cnt in context.CmsContents
                               where cnt.IsPublished == true & cnt.IsDeleted == false & cnt.Date == currenteDate
                               orderby cnt.ContentId descending
                               select new { cnt.ContentId, cnt.Title, cnt.TitleUrl, cnt.Date, cnt.TypeContent };

Ответы [ 2 ]

8 голосов
/ 21 сентября 2011

Для изменения текущей даты вам нужно использовать currenteDate.AddDays(-2).И используйте >= вместо ==, чтобы получить все записи за 2 дня до и до последней записи

DateTime currenteDate = DateTime.UtcNow.Date.AddDays(-2);

var contents = from cnt in context.CmsContents
                   where cnt.IsPublished == true & cnt.IsDeleted == false & cnt.Date >= currenteDate
                   orderby cnt.ContentId descending
                   select new { cnt.ContentId, cnt.Title, cnt.TitleUrl, cnt.Date, cnt.TypeContent };
0 голосов
/ 21 сентября 2011

использовать метод сравнения из объекта DateTime:

cnt.Date.CompareTo( DateTime.Now.AddDays( -2 ) ) >= 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...