CS0266无法隐式转换类型&#39; System.Collections.Generic.List <system.linq.igrouping to =“”'system.collections.generic.list'=“”

时间:2016-02-01 08:28:18

标签: entity-framework linq

1 个答案:

答案 0 :(得分:3)

如果您想拥有不同的国家/地区,可以使用后续选择来选择每个IGrouping<int,Country>中的第一个国家/地区:

 public async Task<IEnumerable<Country>> Search(int userId)
 {
 return await _db.Cities
  .Include(ci => ci.States.Country)
  .Select(ci => ci.States.Country)
  .OrderBy(co => co.CountryName)
  .GroupBy(co=>co.pk_CountryId)
  .Select(co => co.FirstOrDefault())
  .ToListAsync();
 }

另外还有一点注意事项,Include在这里是必要的,如果您要返回States并希望其Country属性,那么急切加载这些国家/地区只会非常有用被填充。 Select确保您抓取Country,您甚至不再从数据库中获取状态。