Amazonギフトカードシステムに似たasp.net mvc3アプリケーションを実行しています。モデルUsers、cardStatus、paymentMethod、およびcardHistoryに関連するCardsという名前のモデルがあります。すべてのカードのデータ (作成者、初期金額、ステータス) を表示するグリッドを作成しています。データを表示するために WebGrid を使用しています。カードは、コントローラを追加すると、asp が次のコードを生成したときに、複数のステータスを持つことができます。
public ViewResult Index()
{
var cards= db.cards.Include(t => t.cardStatus).Include(t => t.paymentMethod).Include(t => t.users);
return View(cards.ToList());
}
問題は、webgrid で最新のカード ステータスを表示する必要があることですが、生成されたクエリはすべてのステータスを取得するため、webgrid で「列 cardStatus.status.name が存在しません」というエラーが表示されます。ここで私の webgrid コード:
@grid.GetHtml(
headerStyle: "header",
tableStyle: "table table-striped table-bordered table-hover",
columns: new[] {
grid.Column("cardId", header: "Card"),
grid.Column("user.ID", header: "Creator"),
grid.Column("initialAmount", header: "Amount"),
grid.Column("cardStatus.status.name", header: "Status")
}
)いくつかのLINQステートメントを試しましたが、初めてなのでうまくいきませんでした。すべてのカード情報を最新のステータスのみで表示するにはどうすればよいですか? ありがとう