2012-04-13 13 views
0

私が抱えている問題は、14日を超えていないデータベースのレコードを表示することです。アイデアは、誰かが広告を作成し、2週間だけ表示されるということです。レコードを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; 

アドバイスはありません。

答えて

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; 
0

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

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

一行のラムダはあなたを取得する必要があります。

var adverts = db.Adverts.Where(x => x.date >= DateTime.Now.AddDays(-14) && x.date <= DateTime.Now) 
関連する問題