Linq to Sql SelectMany

时间:2012-07-16 02:39:06

标签: c# sql linq

我正在尝试了解Sql SelectMany。我想在下面的查询中使用它,看看如何使用SelectMany生成结果而不是Select。我知道我可以在这里使用一个选择...我有一个表用户Id为int,位置为字符串。当我运行下面的查询时,我得到异常“序列操作符不支持类型System.String”。您能否告诉我如何迭代SelectMany返回的结果并将结果打印到控制台。

UsersDataContext db = new UsersDataContext();

var results = db.Users.Where(u=> u.ID == 5 || u.ID == 6).SelectMany(u => u.Location);

foreach (var c in results)
{
    Console.WriteLine(c);
} 

1 个答案:

答案 0 :(得分:2)

你应该使用。选择这里。

来自SelectMany上的MSDN:

  

将序列的每个元素投影到IEnumerable并展平   得到的序列成一个序列。

基本上,SelectMany可以将lambda指向一个集合,然后将其展平为一个结果集。示例中的位置不是集合