我尝试在每个组中显示Get 5 Object。 我尝试过这样的代码:
var BBS = (from bb in db.Object
where SubjectList.Contain(bb.Type)
select new ObjectModel {
Subject = bb.Subject,
CDate = bb.CDate
}).GroupBy(a => a.BBSTypeSubject).Take(5);
但它不起作用。 然后我尝试使用Foreach
答案 0 :(得分:0)
当您选择新的ObjectModel时,没有名为BBSTypeSubject的属性。你需要包含它。所以它应该是
select new ObjectModel {
Subject = bb.Subject,
CDate = bb.CDate,
BBSTypeSubject= ???
}
答案 1 :(得分:0)
首先,要意识到C#区分大小写,因此 需要 正确拼写Take
和Contains
等函数名称。但是,只需使用GroupBy
代替var BBS = (from bb in db.Object
where SubjectList.Contains(bb.Type)
select new ObjectModel {
Subject = bb.Subject,
CDate = bb.CDate
}).GroupBy(a => a.BBSTypeSubject, (k, g) => g.Take(5));
即可轻松解决此问题。
{{1}}
第二个参数允许您指定为每个组返回的结果对象。在这种情况下,我只需从组中取出前5个项目,然后返回它们。