我正在尝试编写一个linq查询来合并2个集合,下面对此进行了说明:
public class VoteData
{
public string Name{get;set;}
public string VoteFunction {get;set;}
public string Area {get;set;}
public string Sector {get;set;}
public string Email {get;set;}
public string VoterEmail {get; set;}
}
public class DirectoryData
{
public string VoteFunction {get;set;}
public string Area {get;set;}
public string Sector {get;set;}
public string PrimaryEmail {get;set;}
public string VoterEmail {get; set;}
}
Linq查询:
var result = (from r in voteList select new { r.Email, r.Area, r.Sector, r.VoteFunction }).Union
(from d in directoryDataList select new { Email = d.PrimaryEmail, d.Area, d.Sector, d.VoteFunction });
现在假设此查询返回如下结果:
没有电子邮件区域部门投票功能投票人电子邮件
================================================== ====================
1. abc @ gmail美国IT销售票务员2 @ gmail
2. abc @ gmail空IT分析师表决器2 @ gmail
3. abc @ gmail美国IT空null选民2 @ gmail
4. abc @ gmail欧洲技术公司null null选民2 @ gmail
5. abc @ gmail欧洲帐户分析师表决器2 @ gmail
6. abc @ gmail欧洲null分析员选民2 @ gmail
7. abc @ gmail美国IT null投票者1 @ gmail
================================================== ====================
还有一个领域VoterEmail。所以基本上,我想算每票Area,Sector和VoteFunction。现在在上面的结果中,我想排除结果3和结果6。结果3是因为它的面积和扇区也出现在同一选民的结果1中,而我仍然想保留结果7因为它具有不同的选民。与结果6相似,它具有area和voteFunction,结果5也存在。
有什么解决办法吗?
智慧大石
相关分类