0

私が抱えている問題は、データベースから 14 日以内のレコードを表示することです。アイデアは、誰かが広告を作成し、それが 2 週間だけ表示されるというものです。

私は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;

どんなアドバイスでも歓迎します。

4

3 に答える 3

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;
于 2012-04-13T17:37:11.673 に答える
1

1行のラムダはあなたを得るはずです:

var adverts = db.Adverts.Where(x => x.date >= DateTime.Now.AddDays(-14) && x.date <= DateTime.Now)
于 2012-04-13T17:40:00.817 に答える
0

DateTimeクラスは を実装しIComparableます。したがって、これを行うことができます。

var results = from ad in Adverts
              where ad.date <= DateTime.Now &&
                    ad.date >= DateTime.Now.AddDays(-14) 
              select ad;
于 2012-04-13T17:39:55.260 に答える