假设您有一个简单的查询,例如:
SELECT p.name, p.age, c.course, c.lecture
FROM person p, college c;
这样的事情可以在LINQ中实现吗?我试图列出这些列中的任何内容并迭代它们的原因。
答案 0 :(得分:5)
是。它被称为交叉连接:
var result = (from p in person
from c in college
select new { p.Name, p.Age, c.Course, c.Lecture });
在方法语法中:
var result = person.SelectMany(p =>
college.Select(c => new { p.Name, p.Age, c.Course, c.Lecture });
答案 1 :(得分:2)
除了Gilad Green的回答,您还可以使用lambda执行相同的操作:
var testLinq2 = person.SelectMany(c => college, (p, c) =>
new { p.Name, p.Age, c.Course, c.Lecture });