我无法理解为什么会这样。我有这个错误
'object'不包含'type'的定义
这是因为我正在返回匿名类型:
Connection db = new Connection();
public ActionResult Index()
{
ViewBag.query = from input in db.field
where input.ID_FIELD == 1
select new {
type = input.FIELD_TYPE
};
return View();
}
@foreach (var item in ViewBag.query)
{
@item.type//error here: 'object' does not contain a definition for 'type',
}
所以我添加了一个类来获取类型
public class Types{
public string type{get;set;}
//and bla blab bla
}
好,没问题。但现在我需要一个clouse小组,但我不知道该怎么做。
例如,请参阅此link 的示例2。正如你所看到的,一切都很好但在这里他没有必要指定类型并且工作正常。
按照我的例子。如何在LINQ中使用Group By?
答案 0 :(得分:1)
这是一篇非常好的文章,附有例子和解释。 请看一下
答案 1 :(得分:0)
group x by x.PropertyName into g
会导致g
成为x
个对象,其中包含属性Key
,该对象将返回用于对其进行分组的x.PropertyName
值x
个对象
ViewBag.query = from input in db.field
where input.ID_FIELD == 1
group input by input.FIELD_TYPE into g
select new {
FieldType = g.Key,
Fields = g
};