我正在做一個類似亞馬遜禮品卡系統的asp.net mvc3應用程序。我有一個名爲Cards的模型,它與模型Users,cardStatus,paymentMethod和cardHistory有關。我正在做一個網格,顯示所有卡片的數據(創建者,初始金額,狀態)。我正在使用WebGrid來顯示數據。該卡可以有多個狀態的時候,當我添加了控制器,ASP生成的驗證碼LINQ包括命令mvc3和webgrid
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聲明,但我在它是新所以它沒有工作。怎樣才能把所有的卡信息,但只有最新的狀態?謝謝
喜托馬斯,謝謝您的回答,因爲我還沒有與LINQ querys工作非常多,我用你的第一個解決方案,它非常完美,非常感謝。 – VictorVZ