我遇到的问题是显示数据库中不超过14天的记录。这个想法是有人会创建一个广告,它只会显示两周。
我是LinQ的新手,发现难以理解这种查询的语法。
已创建以下查询以显示下面显示的所有广告。
var Adverts = from m in db. Adverts
select m;
以下是我想要实现的目标。
var Adverts = from m in db. Adverts
where m.date == DateTime.Now
---- Unsure of how to input a date range ------
select m;
任何建议都欢迎。
答案 0 :(得分:2)
var now = DateTime.Now;
var twoWeeksAgo = now.AddDays(-14);
var adverts =
from advert in db. Adverts
where advert.date >= twoWeeksAgo && advert.date <= now
select advert;
答案 1 :(得分:1)
一行lambda应该得到你:
var adverts = db.Adverts.Where(x => x.date >= DateTime.Now.AddDays(-14) && x.date <= DateTime.Now)
答案 2 :(得分:0)
DateTime
类实现IComparable
。因此,你可以这样做。
var results = from ad in Adverts
where ad.date <= DateTime.Now &&
ad.date >= DateTime.Now.AddDays(-14)
select ad;