一個字符串名稱進行LINQ的OrderBy如果我有如何基於對
public ActionResult ListExpenseItems(long id)
{
IQueryable<I_ITEM> expenseItems = er.GetExpenseItems(id);
return PartialView(expenseItems);
}
和LINQ
public IQueryable<I_ITEM> GetExpenseItems(long id)
{
return from i in db.I_ITEM
where i.ExpenseId == id
orderby i.ExpenseItemId ascending
select i;
}
如果我通過在作爲參數傳遞給LINQ方法的字符串,說"ExpenseTitle"
,我該怎麼做OrderBy i.ExpenseTitle
以便orderby總是匹配字符串參數?
這樣的邏輯..但實際上是正確的:
db.I_ITEM.OrderBy(x => (orderBy == 'date') ? x.Date : (orderBy == 'id') ? x.Id : (orderBy == 'cost') ? x.Cost : x.Id);
可能重複[如何動態指定Linq OrderBy參數?](http://stackoverflow.com/questions/7265186/how-do-i-specify-the-linq-orderby-argument-dynamically) – 2017-03-16 07:39:19