我有一个设置LINQ查询的函数,如下所示:
public List<company> FetchSortedList(string cat)
{
var aDTOList = (from s in db.companies
where s.category == cat
orderby s.name
select s).ToList();
}
我现在需要更改此函数以允许用户传递另一个名为“field”的参数,该参数将是一个字符串值,其中包含要对其进行排序的列表的属性名称。无论如何,这样做与上述查询类似,即:
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();
}
(我知道上面的代码不起作用,只是询问是否有类似于做类似的事情)
或者我还需要做别的事吗?
答案 0 :(得分:0)
您需要构建一个看起来像Expression
的{{1}}并将其传递给x => x.SomePropertyToSortBy
方法。