2011-07-13 1 views
0

もう一度!ここでlinqでDateTimeを使用して特定の日付に 'Events'を返す

は私のモデルであり、ここで

namespace AtAClick.Models 
{ 
    public class WhatsOn 
    { 

    public int ID { get; set; } 
    public DateTime? start { get; set; } 
    public DateTime? end { get; set; } 
    public string Name { get; set; } 
    public string Desc { get; set; } 
    public string link { get; set; } 
    public bool CalenderDisplay { get; set; } 
    public DateTime? day { get; set; } 
    public int whtscount { get; set; } 
    } 
} 

は私の指標であり、私のインデックスが日付でイベントをグループ化し、特定の日付に接続されているどのように多くが帰国された瞬間に、コントローラ

public ViewResult Index(WhatsOn model) 
    { 
     DateTime myDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); 

     var datequery = 
         db.WhatsOns.Where(c => c.start > myDate).OrderByDescending(c => c.start).GroupBy(c => c.start).AsEnumerable().Select(
         sGroup => new WhatsOn 
         { 
          day = sGroup.Key, 
          whtscount = sGroup.Count() 
         }); 

     return View(datequery); 
    } 

    public ViewResult Browse(DateTime? day , int? id) 
    {   
     var eventsquery = from c in db.WhatsOns 
          where c.start == day 
          select c; 

     return View(eventsquery); 
    } 

を閲覧します。 日付に関連付けられたイベントを一覧表示するブラウズリンクを追加します。私はDateTimeの私のlinqクエリで比較するように見えることはできません、私がしようとすべての空白を返します。

ご迷惑をおかけして申し訳ございません。

ありがとうございます!

更新:

Hey!それが動作しました

ここでは、私の新しいコントローラ、

public ViewResult Browse(int? id, DateTime? day, DateTime? start) 
    { 

     var eventsquery = from c in db.WhatsOns where c.start.Value.Day == day.Value.Day select c; 

     return View(eventsquery); 


    } 

そして、私の見解では、私のActionLinkの中で、トリックをやった....

@Html.ActionLink("Browse", "Browse", new { start=item.start, day=item.day }) 

あなたが助けてくれてありがとう!

+0

オフトピック、なぜmyDateをDateTime.Nowに置き換えてみませんか? – DaveShaw

+0

ええ、わかりません!私は日、月、年にそれをやらなければならないと思っていましたが、アドバイスをいただきありがとうございました。 – Dan

答えて

0

「の両方start」と「day」はタイプDateTimeであるので、それらの比較子は完全なDateTimeオブジェクトに対して各ビットをチェックしようとしています。あなただけDateTimeの正確なミリ秒の日を参照しようとしている、としていない場合は、試してみてください。

c.start.Value.Day == day.Value.Day 

また、同様にそれらのNULL値可能フィールドにいくつかのヌルチェックを行うにはかなり良いアイデアです。

+0

ありがとう!私はそれを試してみましょう。 – Dan

+0

これはまだ何も返されておらず、 'whtscount'プロパティが2であるため、間違いなくエントリがあります。私はモデルに何とか間違いを犯しましたか? – Dan

+0

おそらく、なぜ日が日時であるのかわかりません。 "db.WhatsOns"に入れたいくつかのオブジェクトの例を挙げることができますか? –

関連する問題