为什么我不能在这个lambda表达式中使用OrderBy()?

时间:2012-12-07 14:44:54

标签: c# linq entity-framework lambda

如何订购以下产品? orderBy不识别x.Name。

var xRefsNames = db.CrossRefs.Where(x => pgNos.Contains(x.PG))
.Select(x => x.Name)
.Distinct()
.OrderBy(x=>x.Name);

1 个答案:

答案 0 :(得分:11)

您的选择是投射不同的对象,可能是基于名称的字符串。您只想按x订购。

var xRefsNames = db.CrossRefs.Where(x => pgNos.Contains(x.PG))
.Select(x => x.Name)
.Distinct()
.OrderBy(x=>x);