我有一個asp.net mvc網站,我無法對模型中需要計算的字段進行排序。如何在未存儲在分區中的字段排序
private decimal _total = -1;
public decimal Total
{
get
{
if (_total < 0)
{
_total = get_total(TableId);
}
return _total;
}
}
private decimal get_total(int id)
{
....Many Calcs
}
我想排序共有,但我得到的錯誤:
其他信息:指定的類型成員「合計」不支持LINQ到實體。僅支持初始化程序,實體成員和實體導航屬性。
這裏是我的ActionLink:
@Html.ActionLink("By Total", "Index", new { sortOrder = ViewBag.Total, currentFilter = ViewBag.CurrentFilter }, new { @class = "btn btn-danger" })
我已經發現了一些類似的問題,但我不能找出如何通過這個排序。
和我的控制器。爲了清晰起見,我試圖將其編輯。
public ActionResult Index(string sortOrder)
{
ViewBag.CurrentSort = sortOrder;
ViewBag.Total = sortOrder == "total" ? "total_desc" : "total";
var records = from u in db.Records.Include(t => t.User).Where(t => t.Active == true)
select u;
switch (sortOrder)
{
case "total":
records = db.Records.OrderBy(u => u.Total).Where(t => t.Active == true);
break;
case "rating_desc":
records = db.Records.OrderByDescending(u => u.Total).Where(t => t.Active == true);
break;
default:
records = db.Records.OrderBy(u => u.Title).Where(t => t.Active == true);
break;
}
return View(records.ToList());
}
顯示在您的數據進行排序的查詢。 –
你沒有顯示你實際排序的代碼,或者你添加了這個'Total'屬性的地方。從外觀看,我猜你已經通過一個部分類將其添加到EF實體。 –
對不起, –