2011-03-27 66 views
2

我有一個對象模型,我正在尋找與LINQ查詢填充它。LINQ查詢與MyModel

MyModel{ 
DateTime AppointDate {get; set;} 
int TotalAppoints {get; set;} 
int AppointDuration {get; set;} 
} 

我寫的查詢返回的約會的計數的具體日期,並在接收用戶名和日期作爲參數的函數。 MyDC是數據上下文。

到目前爲止,這是我所:

var Output = from a in MyDC.AppointTable 
      where a.UserID == TheUserID 
      where a.Date == TheDate.Date 
      select new MyModel 
      { 
       AppointDate = ?, 

       TotalAppoints =?, 

       AppointDuration = ? 
      }; 

現在,我已經嘗試了一些東西,但它沒有返回什麼期望。當我寫a.Count()時,我沒有得到計數。每個約會都有一個int,用於存儲該約會的分鐘數; TotalAppoints應該是約會的次數,AppointDuration應該保留在約會中花費的所有分鐘數。感謝您的輸入。

+2

你沒有顯示你的數據模型,使一個人怎麼能寫反對LINQ查詢,即場和和你的數據? – BrokenGlass 2011-03-27 04:27:59

回答

3

你想要做什麼是組通過在值

var out = from a in MyDC.AppointTable 
      where a.UserID == TheUserID 
      where a.Date == TheDate.Date 
      group a by a.Date into g 
      select new MyModel { 
       AppointDate = TheDate.Date, 
       TotalAppoints = g.Count(), 
       AppointDuration = g.sum(x => x.AppointDuration) 
      }; 
+0

問題是我得到空=「枚舉沒有結果」,我從樣本數據知道它應該返回值。 – frenchie 2011-03-27 04:38:18

+0

這意味着你(從一個在Context.Table其中...)不匹配任何東西,所以你沒有數據在 – zellio 2011-03-27 04:40:22

+1

@frenchie操作 - 也許你可以提供樣本數據? – Pandincus 2011-03-27 04:48:29