C#中的EF 4。
我有我的查询,目前我可以按当前日期过滤结果(只是考虑时间的日期)。
我需要将结果从过去两天过滤到当前日期(不知道怎么做)。
我在我的查询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 };
答案 0 :(得分:8)
要更改当前日期,您需要使用currenteDate.AddDays(-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 };
答案 1 :(得分:0)
使用DateTime-object中的compare方法:
cnt.Date.CompareTo( DateTime.Now.AddDays( -2 ) ) >= 0