我有以下内容:
var cities = _cityRepository.GetPk(partitionKey);
var sortedCities = cities.OrderBy(item => item.RowKey.Substring(0, 4))
.ThenBy(item => item.ShortTitle);
return sortedCities;
城市在哪里:ICollection<City>
这给了我一个错误
Cannot implicitly convert type 'System.Linq.IOrderedEnumerable<Storage.Models.City>' to 'System.Collections.Generic.ICollection<Storage.Models.City>'. An explicit conversion exists (are you missing a cast?)
有人可以帮我解决这个问题。我以为我可以运行LINQ来重新排序。
答案 0 :(得分:4)
在末尾添加.ToList()
,如下所示
var sortedCities = cities.OrderBy(item => item.RowKey.Substring(0, 4))
.ThenBy(item => item.ShortTitle).ToList();
可能您的方法必须返回IOrderedEnumerable
答案 1 :(得分:1)
“无法转换为指定类型”,请致电.ToList
:
var sortedCities = cities.OrderBy(item => item.RowKey.Substring(0, 4))
.ThenBy(item => item.ShortTitle).ToList();
答案 2 :(得分:1)
您的方法似乎需要ICollection<Storage.Models.City>
类型的返回值,但您返回IOrderedEnumerable<Storage.Models.City>
,通常为IEnumerable<Storage.Models.City>
。
您可以更改方法的返回类型,也可以将返回值转换为ICollection
,例如List
ToList()
。