HI,
我有一个场景,我连接多个表并在DataRow中获取输出(所有行返回查询)。
SQL查询:
SELECT Fr.InterCodeId
FROM
CodeShareInterline Fr,
Airline A,Zone Z #
WHERE
A.AirlineId = Fr.AirlineId
And Fr.ContractId=Z.ContractId
我知道如何在LINQ中执行连接,但是如何在LINQ的select语句中选择所有列(Rows)。
答案 0 :(得分:0)
这是未经测试的,但接近这一点应该有效。假设您的数据上下文是调用Context。这是对上述内容的翻译。
var o = from fr in Context.CodeShareInterline
join a from Context.Airline on a.AirlineId == fr.AirlineId
join z from Context.Zone on fr.ContactId == z.ContactId
select fr.InterCodeId;
如果要选择所有数据,则需要执行以下操作。
var o = from fr in Context.CodeShareInterline
join a from Context.Airline on a.AirlineId == fr.AirlineId
join z from Context.Zone on fr.ContactId == z.ContactId
select new {
Interline = fr,
AirLine = a,
Zone = z
};
答案 1 :(得分:0)
var result = from fr in dataContext.CodeShareInterline
from a in dataContext.AirLine
from z in dataContext.Zone
where a.AirlineId == fr.AirlineId && fr.ContractId == z.ContractId
select new
{
Interline = fr,
AirLine = a,
Zone = z
};
匿名类型包含您想要的所有数据,您可以通过以下方式轻松访问一列:
result.FirstOrDefault().Zone.SomeField