我对这个Linq查询做错了什么?
sql语句是:
SELECT
*
FROM
ReportGroups rg INNER JOIN ReportDefinitions rd on rg.ReportGroupID = rd.ReportGroupID
WHERE
rd.ReportGroupID = 5
LINQ:
var query = from rg in ReportGroups
join rd in ReportDefinitions on rg.ReportGroupID equals rd.ReportGroupID
.Where rd.ReportGroupID equals 5
select new
{
rg.ReportGroupName,
rd.ReportName
};
query.Dump();
答案 0 :(得分:2)
您似乎将查询理解语法与方法调用语法混合在一起。尝试将.Where
替换为where
。
答案 1 :(得分:2)
您的查询中有2个错误。
首先使用where
代替.Where
。
其次在where
子句中不使用equals
使用==
,equals
仅用于joins
像这样:
var query = from rg in ReportGroups
join rd in ReportDefinitions on rg.ReportGroupID equals rd.ReportGroupID
where rd.ReportGroupID == 5 //updates here
select new
{
rg.ReportGroupName,
rd.ReportName
};
query.Dump();