あちこち探しましたが、答えが見つかりませんでした。IEnumerable からのデータを表示する webgrid があります。特にグリッドの目的でビュー モデルを作成したくないので、列を作成するときに関連するプロパティを使用します。そのようです:
grid.Column(format: @<text>
@item.User.FullName
</text>,
header: "User"),
これは多対 1 の関係のためのもので、問題なく動作します。私は次のように多対多で同様のトリックを使用したかった:
grid.Column(format: @<text>
@item.Companies.FirstOrDefault().Title
</text>,
header: "Company"),
しかし、それを言ってエラーが発生しました
System.Collections.Generic.List<ActivityLog.Domain.Entities.Company>' does not contain a definition for 'FirstOrDefault'
この値をソースとして webgrid で使用できる他の方法はありますか?
または、次のことを行う必要があります。
オプション 1) 他のプレゼンテーション ヘルパーを使用するか、代わりに foreach ループで html テーブルを作成します。
オプション 2) WebGrid に必要なすべてのプロパティに対応するビュー モデルを作成する
どちらがより適切だと思いますか?