1

コントローラーから MVC 3 ビューを作成しています。私のモデル「MyList」には、多数のレコードが含まれています。次の linq ステートメントを使用してモデルを作成すると:

var model = _db.MyList.GroupBy(r => r.myKey);

エラーが表示されます:「ディクショナリに渡されたモデル項目の型は 'System.Collections.GenericList' 1 です...しかし、このディクショナリには型 'System.Collections.Generic.IEnumerable' のモデル項目が必要です...

ビューには、最初の行に次のコードがあります。

@model IEnumerable<MyApp.Models.MyList>

戻してみた

return View(model.ToList());

コントローラーから、しかし喜びはありません。私は何が欠けていますか?

4

3 に答える 3

0

これは朝中私を悩ませていました。私は次の投稿で私の質問に対する答えを見つけました:

ドロップダウンリストに名前と値を入力するための名前によるLinqDistinct()

私は基本的に以下を返します:

public static IEnumberable<MyModel> FindTheKeys(this IQueryable<MyModel> myList)
{
    return myList.OrderBy(r => r.AreaKey);
}

次に、上記の投稿に示されているように選択を実行しました。

var model = _db.MyModel.FindTheKeys().GroupBy(r => r.AreaKey).Select(g => g.First());
于 2012-10-23T16:37:40.723 に答える
0

model.ToList()List<T>どこTが MyListかを返します。モデル タイプは StraightMyListです。var上記の宣言がすでに を返している場合は、そのまま実行してMyListくださいreturn View(model)

于 2012-10-22T19:05:52.423 に答える
-1

GroupBy はIGrouping<TKey, TSource>、 notのコレクションを返しますMyList(これは奇妙ですが、リストのリストはありません。

GroupByとにかく、 a をリストに変換することはあまり意味がありません。ということOrderByですか?

于 2012-10-22T20:20:23.180 に答える