我知道这应该是一个已经解决的问题,但我无法让记录的解决方案适合我。下面的代码假设在不同之后执行订单,但它没有。我提到了这篇文章:LINQ to SQL does not generate ORDER BY when DISTINCT is used?
fyMonth = (From f In DbContext.FYMonth
Select f.Month).Distinct().OrderBy(Function(n) n).ToList()
我尝试时收到错误:
OrderBy(Function(n) n.SortOrder)
有什么想法吗?
答案 0 :(得分:1)
您的查询正在选择几个月,而您正在获得不同的月份。一个月不包含SortOrder
属性,您无法再访问FYMonth
个对象上的该属性。您需要在投影中加入SortOrder
,然后对其进行排序,然后投射回月份。
fyMonth = DbContext.FYMonth
.Select(Function(x) New With { x.Month, x.SortOrder })
.Distinct
.OrderBy(Function(x) x.SortOrder)
.Select(Function(x) x.Month)
这假设每个月的SortOrder
在所有月份都是相同的。