0

LINQ to Entities を使用して DateTime の日付のみを比較し、それを別のクエリで合計する方法。

次のことを達成したいと思います-「Complete」という値を持つタイプの数を数え、今日の日付を数えてその合計をテキストボックスに表示します。

 var query_test = (from c in this.db.Documents
                   where c.Type == "Complete" && c.Date == DateTime.Now.Date
                   select c).Count();

このクエリを実行すると、例外が発生します

「'System.Nullable' には 'Date' の定義が含まれておらず、タイプ 'System.Nullable' の最初の引数を受け入れる拡張メソッド 'Date' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)」

他の同様の投稿から以下のクエリを試しましたが、それでも機能しません

var q1 = (this.db.Documents.Where(r => r.Date.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd") && r.Type == "Complete").Count());

親切に助けて

4

1 に答える 1

2

これを試すことができます。

var query_test = (from c in this.db.Documents
                   where c.Type == "Complete" && c.Date == DateTime.Today
                   select c).Count();

時間要素があるかどうかわからない場合は、切り捨てることができます。

var query_test = (from c in this.db.Documents
                   where c.Type == "Complete" && EntityFunctions.TruncateTime(c.Date) == DateTime.Today
                   select c).Count();
于 2013-04-29T10:16:37.377 に答える