0

我有以下查询:

var users_t = context.Users.Select(x => 
  new {
    Username = x.Username,
    Roles = x.Roles.Select(y => y.Id).ToList()
  }
);

但我收到以下错误:

LINQ to Entities 无法识别方法 'System.Collections.Generic.List 1[System.Int32] ToList[Int32](System.Collections.Generic.IEnumerable1[System.Int32])' 方法,并且此方法无法转换为存储表达式。

这可以解决吗?也许使用 SelectMany?

有人可以帮我吗?

谢谢你,米格尔

4

1 回答 1

0

LINQ to Entities 应该能够将您的表达式转换为 SQL,并且没有用于.ToList(). 尝试删除.ToList()

var users_t = context.Users.Select(x => 
  new {
    Username = x.Username,
    Roles = x.Roles.Select(y => y.Id)
  }
);
于 2013-10-16T16:34:18.057 回答