在LINQ中使用字符串将属性设置为orderby
本文关键字:属性 设置 orderby 字符串 LINQ | 更新日期: 2023-09-27 18:20:41
我有一个LINQ查询函数,设置如下:
public List<company> FetchSortedList(string cat)
{
var aDTOList = (from s in db.companies
where s.category == cat
orderby s.name
select s).ToList();
}
我现在需要更改此函数,以允许用户传递另一个名为"字段"的参数,该参数将是一个字符串值,其中包含要排序的列表的属性名称。是否有类似于上述查询的方法,即:
public List<company> FetchSortedList(string cat, string prop)
{
var aDTOList = (from s in db.companies
where s.category == cat
orderby s[prop]
select s).ToList();
}
(我知道上面的代码不起作用,只是问是否有类似的事情)
还是我需要做其他事情?
您需要构造一个看起来像x => x.SomePropertyToSortBy
的Expression
,并将其传递给OrderBy
方法。