1

私がやろうとしているのは、データベース (linq to sql を使用した ado.net) で先週のすべてのエントリを検索することです。

データベースには日付というフィールドがあり、現在の日付から 7 日前のエントリが必要です。

var records = (from r in context.PumpInfoTables
               where r.Date.Equals(DateTime.Now)
               //&& where r.date <= 7 days <--help
               select r);

このクエリのヘルプを探しているのですが、使用できる between 関数はありますか?

4

3 に答える 3

4
DateTime weekFromNow = DateTime.Now.AddDays(-7);
var records = (from r in context.PumpInfoTables
                           where r.Date < DateTime.Now
                           && r.Date >= weekFromNow
                           select r);
于 2013-04-04T14:13:04.983 に答える
3

これは本当に簡単です:

var oneWeekAgo = DateTime.Today.AddDays(-7);
var records = (from r in context.PumpInfoTables
               where r.Date >= oneWeekAgo
               select r);

これは、将来からのエントリがないことを前提としています。持っている場合は、代わりにこれを使用します。

var today = DateTime.Today;
var oneWeekAgo = today.AddDays(-7);
var records = (from r in context.PumpInfoTables
               where r.Date >= oneWeekAgo && r.Date <= today + 1
               select r);

注意:
私のコードでは、時刻ではなく日付部分のみに関心があると仮定して、DateTime.Today代わりに を使用しています。DateTime.Now

于 2013-04-04T14:13:38.787 に答える
0

このようなもの?:

var records = (from r in context.PumpInfoTables
                           where r.Date > DateTime.Today.AddDays(-7)
                           select r);
于 2013-04-04T14:14:46.230 に答える