以下连接投影抛出错误 “'GroupJoin'操作必须后跟'SelectMany'操作,其中集合选择器正在调用'DefaultIfEmpty'方法。” 我已经完成了一些变更的排列,但还是无法弄清楚。想法?
编辑:它看起来越来越像 可能是一个Dynamics CRM问题 。我正在访问数据的Xrm模型已由CRM SDK(CRM 2011)生成。
var q =
left
.GroupJoin(right,
c => c.Id,
cl => cl.c.Id,
(c, cs) => new { c, cs })
.Where(x=>x.c.Name.Contains("some text"))
.SelectMany(x => x.cs.DefaultIfEmpty(), (x, csubl) =>
new
{
CompanyName = x.c.Name
});
答案 0 :(得分:0)
我认为在查询语法中它会更漂亮
var q = from l in left
join r in right on l.Id equals r.c.Id into groupped
from g in groupped.DefaultIfEmpty()
where l.Name.Contains("some text")
select new {
CompanyName = l.Name;
}
<强>更新强>
来自msdn的示例包含左连接的示例,因此您可以尝试上面的代码,或者在Where
之前或GroupJoin
之后移动SelectMany