【发布时间】:2011-12-16 23:24:31
【问题描述】:
我有一个查询中的邮政编码列表 (ThisInstructorsPostcodes) 和另一个拉回销售推荐的查询 (LastWeeksReferrals)
我使用下面的语法来执行与 LEFT OUTER JOIN 等效的 linq,所以即使没有推荐,我也总是会得到一个邮政编码。
dim final = from tip in ThisInstructorsPostcodes _
group join lwr in LastWeeksReferrals on tip.PostcodeID equals lwr.PostcodeID Into lwrgrp = group _
from lwrgrpq in lwrgrp.DefaultIfEmpty _
select new with {tip.AreaDistrict, lwrgrpq }
final.dump()
我得到的结果是 所以 接近我需要的结果,但是我在 lwrgrpq 列中得到了一堆 InstructorReferrals 对象,而我想要做的是所有'的简单总和这些 InstructorReferrals 对象中的推荐人整数。
我认为这会起作用:
dim final = from tip in ThisInstructorsPostcodes _
group join lwr in LastWeeksReferrals on tip.PostcodeID equals lwr.PostcodeID Into lwrgrp = group _
from lwrgrpq in lwrgrp.DefaultIfEmpty _
select new with {tip.AreaDistrict, lwrgrpq.Sum(function(x) x.Referrals) }
...但它没有 - 失败并出现错误:
只能从不带参数的简单名称或限定名称推断出匿名类型成员名称。
我很苦恼,因为我只使用了这个 linq 查询结构来模拟 sql 的外连接行为,有谁知道我可以如何解决这个问题,以便我的分组项目不是匿名类型?
【问题讨论】:
标签: vb.net linq linq-to-sql