我有两个相关的课程,选民和党。 Party与Voter保持一对一的关系,由Voter.PartyID和Voter.Party属性代表。
我设置了一个像这样的IQueryable:
IQueryable<Voter> voters = context.Voters.Include(v=>v.Party).Where(...)
创建选民子集。后来我想总结一下Party的子集。我是这样做的:
var retVal = voters.Select( v => v.Party ).Distinct().GroupBy( p =>
p,
( p, b ) => new ...
不幸的是,'p' - 应该是选民中每个选民的相关财产方 - 总是无效。
我不明白为什么早期的Include语句没有“强制”检索/定义Voter.Party属性。
我发现在进行GroupBy之前实现选民子集似乎迫使Voter.Party的检索/定义。不幸的是,早期实现物化以解决问题(我在这里简化了事情,实际的查询逻辑更复杂)创建了一些巨大的数据集。
关于如何让Voter.Party被修复/定义的想法?