当前位置:编程学习 > C#/ASP.NET >>

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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,