我正在尝试了解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);
}
答案 0 :(得分:2)
你应该使用。选择这里。
来自SelectMany上的MSDN:
将序列的每个元素投影到IEnumerable并展平 得到的序列成一个序列。
基本上,SelectMany可以将lambda指向一个集合,然后将其展平为一个结果集。示例中的位置不是集合