-5

みなさん、こんにちは。私のlinqtosqlの選択がdateTimeフィールドで機能しません。

 for (DateTime i = FromDate; i < DateTime.Now; i = i.AddDays(1))
            {
                var Count = (from d in db.Users
                             where d.RegistrationDate.Value == i
                             select d.ID).Count();
            }

i.dateを試しましたが、機能しません

4

2 に答える 2

2

特定の日に登録したすべてのユーザーの数を取得しようとしているようです。もしそうなら、登録日ですべてのユーザーをグループ化するためにgroupキーワードを使用するのが最善だと思います。次に、次のように、日付とカウントで含める新しい匿名タイプを作成できます。

var Counts = (from d in db.Users
             // filter down to only users registered between FromDate and Now
             where (d.RegistrationDate.Value >= FromDate 
                 && d.RegistrationDate < DateTime.Now)
             // Group all users together by Date of registration (assuming 
             // RegistrationDate is a DateTime? field)
             group d by d.RegistrationDate.Value.Date into date
             // Get a new anonymous type that contains the date and the number
             // of users registered on that date
             select new { Date = date.Key, Count = date.Count() } );
于 2012-06-16T15:34:15.437 に答える
1

あなたがする必要があるのは、それらの日付の間で選択をすることです。

このようなもの:

var date = new DateTime(i.Year, i.Month, i.Day, 0, 0, 0); // Set the datetime to start of the day
var Count = (from d in db.Users 
                             where d.RegistrationDate.Value >= date && d.RegistrationDate.Value < date.AddDay(1)
                             select d.ID).Count();
于 2012-06-16T15:20:12.560 に答える