如何在LINQ中工作

时间:2013-03-29 14:19:28

标签: linq entity-framework asp.net-mvc-4

我无法理解为什么会这样。我有这个错误

  

'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?

2 个答案:

答案 0 :(得分:1)

这是一篇非常好的文章,附有例子和解释。 请看一下

geekswithblogs

答案 1 :(得分:0)

group x by x.PropertyName into g会导致g成为x个对象,其中包含属性Key,该对象将返回用于对其进行分组的x.PropertyNamex个对象

        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
                        };