lambda实现sql中的union效果
现有两个表分别为物资表(tb_goods)和资金表(tb_money),小王同时存在于这两个表中,小李存在于资金表中。如何使用lambda表达式对EF操作实现统计这两个表的人数为2人(去除重复的数据)? --------------------编程问答-------------------- 给出表结构,表内测试数据及想得到的结果--------------------编程问答-------------------- 物资捐赠表(tb_goods)
字段:
donorName(捐赠人姓名)
donateId(捐赠单ID)自增列,主键
projectId(捐赠项目ID)
资金捐赠表(tb_deposit)
字段:
i_donateId(资金捐赠id)
nv_donateDonorName(捐赠方名称)
i_donateProjectId(捐赠项目ID)
测试数据:
tb_goods(物资捐赠表)
donateId donorName projectId
1 wx 32
2 wx 32
3 hh 32
tb_deposit(物资捐赠表)
i_donateId nv_donateDonorName projectId
1 hs 33
2 wx 32
3 hh 32
结果:
根据这两个表筛选捐赠项目编号=32的捐赠人的人数为2人(wx,hh)。
--------------------编程问答-------------------- var query =( from c in tb_goods
join o in tb_deposit on c.projectId equals o.projectId
where o.projectId== 32
select c).Distinct().Tolist();
类似差不多这样。 --------------------编程问答-------------------- tb_goods.Select(x => x.donorName).Union(tb_deposit.Select(x => nv_donateDonorName)).Distinct() --------------------编程问答-------------------- 也是union关键字,参考http://www.oschina.net/code/snippet_222150_16997
补充:.NET技术 , LINQ