我有一個名爲Renders的模型。獲取具有特定屬性值的ICollection的實體數
public class Render
{
public int RenderId { get; set; }
public string ClientName { get; set; }
public string Title { get; set; }
public ICollection<Comment> Comments { get; set; }
}
而且在渲染實體評論的集合,它的型號看起來像這樣:
public class Comment
{
public int CommentId { get; set; }
[Column(TypeName = "varchar(Max)"), DataType(DataType.MultilineText)]
public string UserComment { get; set; }
public bool CommentApproved { get; set; }
public int RenderId { get; set; }
public virtual Render Render { get; set; }
public virtual ICollection<CommentImage> CommentImages { get; set; }
}
我需要一個Count()的所有呈現有任何意見與屬性CommentApproved那等於true。
這是我所嘗試過的,但它不起作用,因爲選擇方法,我有種得到爲什麼不起作用,但它是我唯一能夠弄清楚如何編寫,實際上編譯。
private readonly RenderLibContext _db = new RenderLibContext();
....
var commented = _db.Renders.Include("Comments")
.Select(r => r.Comments.Where(c => c.CommentApproved)
.Count());
顯然,在我的控制器其他一些代碼,但我想這個問題保持到了點。我只是無法弄清楚如何讓Count()方法起作用,並告訴我有多少個Renders具有ApprovedComment屬性爲true的註釋。
這看起來不錯,我認爲我的努力有點太硬..大聲笑現在重新編譯和測試。 – 2015-01-21 12:51:14
Booyah! Jeez我甚至把我的問題與你在這裏所做的相同。關鍵字.... ANY()!!! – 2015-01-21 12:51:58
Linq是最好的。簡單起見, – 2015-01-21 12:54:12