仅显示两周的记录!从创造

本文关键字:创造 记录 显示 两周 | 更新日期: 2023-09-27 18:31:07

我遇到的问题是显示数据库中不超过 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;

任何建议。

仅显示两周的记录!从创造

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;

一行 lambda 应该可以让你:

var adverts = db.Adverts.Where(x => x.date >= DateTime.Now.AddDays(-14) && x.date <= DateTime.Now)

DateTime类实现IComparable .因此,您可以这样做。

var results = from ad in Adverts
              where ad.date <= DateTime.Now &&
                    ad.date >= DateTime.Now.AddDays(-14) 
              select ad;