我想寫一個LINQ查詢來計算一個類型的出現次數。LINQ計數的發生
事情是這樣的:
var qry = from c in db.XBLRegionalContents
where c.PublishDate <= DateTime.Today
group c by c.ContentId into grouped
select new FeaturedViewModel { XBLRegionalContent = db.XBLRegionalContents.Find(grouped.Key), RegionCount = grouped.Count() };
但有些事情是不對的。我想顯示XBLRegionalContents
對象的數量,它有多少區域在數據庫上。
有人可以幫助我嗎?
謝謝。
UPDATE
這裏是XBLRegionalContent
public class XBLRegionalContent
{
[Key, Column(Order = 0)]
public string ContentId { get; set; }
[ForeignKey("ContentId")]
public virtual XBLContent Content { get; set; }
[Key, Column(Order = 1)]
public string RegionId { get; set; }
[ForeignKey("RegionId")]
public virtual XBLRegion Region { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
你得到什麼呢? – 2012-01-17 18:26:20
每個區域內容都顯示爲count = 1。我試圖通過相同的ContentId對所有區域進行分組,並在顯示對象時統計它們。 – programad 2012-01-17 18:29:11
如果你跳過'db.XBLRegionalContents.Find(grouped.Key)'並且只返回密鑰,你仍然得到相同的計數嗎? (你應該)在這種情況下,你應該驗證你的數據。 – Magnus 2012-01-17 18:44:05