3

なぜそれが機能するのか理解できません。このエラーが発生しました

「オブジェクト」には「タイプ」の定義が含まれていません

そして、それは私が匿名型を返していたからです:

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
}

よし、問題ない。しかし、今はクロースごとにグループが必要ですが、その方法がわかりません。

たとえば、このリンクの例 2 を参照してください。ご覧のとおり、すべてがうまく機能しますが、ここではタイプを指定する必要がなく、問題なく機能しました。

以下は私の例です。LINQ でGroup Byを使用するにはどうすればよいですか?

4

1 に答える 1

0

group x by x.PropertyName into gオブジェクトのグループ化に使用された値を返すプロパティを持つオブジェクトgのコレクションになりますxKeyx.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
                        };
于 2013-03-29T14:37:23.057 に答える