我正在做一个类似于亚马逊礼品卡系统的 asp.net mvc3 应用程序。我有一个名为 Cards 的模型,它与模型用户、cardStatus、paymentMethod 和 cardHistory 相关。我正在做一个网格,在其中显示所有卡片的数据(创建者、初始金额、状态)。我正在使用 WebGrid 来显示数据。卡片在时间上可以有多个状态,当我添加Controller时,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 “column 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 语句,但我是新手,所以它不起作用。怎么才能带上所有的卡信息,但只有最新的状态?谢谢