zoukankan      html  css  js  c++  java
  • Linq LeftJoin 取不同和想同的对像

    今天同事问我两个List里怎么取不同的,我想到了SQL里用LEFT JOIN 然后在通过WHERE 里判断表里的某个字段为空就可以达到目的于是有了下面的LINQ

      [TestMethod]
            public void LinqLeftJoinTest()
            {
                List<DoHTEModelDTO> ali = new List<DoHTEModelDTO>();
                List<DoHTEModelDTO> bli = new List<DoHTEModelDTO>();
                DoHTEModelDTO a = new DoHTEModelDTO();
                a.hteId = 1;
                a.userId = 1;
                ali.Add(a);
    
                a = new DoHTEModelDTO();
                a.hteId = 2;
                a.userId = 2;
                ali.Add(a);
    
                a = new DoHTEModelDTO();
                a.hteId = 3;
                a.userId = 3;
                ali.Add(a);
    
    
                a = new DoHTEModelDTO();
                a.hteId = 1;
                a.userId = 1;
                bli.Add(a);
    
    
                a = new DoHTEModelDTO();
                a.hteId = 2;
                a.userId = 2;
                bli.Add(a);
    
    
                var ss = (from a1 in ali
                         join b in bli on a1.userId equals b.userId into temp
                         from tt in temp.DefaultIfEmpty()
                         where tt==null
                         select new { UserId = a1.userId }).ToList();
    
    
                var ss2 = (from a1 in ali
                          join b in bli on a1.userId equals b.userId into temp
                          from tt in temp.DefaultIfEmpty()
                          where tt!= null
                          select new { UserId = tt.userId }).ToList();
    
    
                Assert.IsNotNull(ss);
     
            }
           
    
         
        }
    }
    
        public class DoHTEModelDTO
        {
            public Int64 hteId { get; set; }
            public Int64 userId { get; set; }
            public bool submit { get; set; }
            
        }
    View Code

    我也不知道和别的方法比效率如何,只是记录一下而以。

  • 相关阅读:
    hdu2476
    zoj3469 区间dp好题
    区间dp好题cf149d 括号匹配
    cf1108e 线段树区间更新+扫描线
    完全背包记录路径poj1787 好题
    cf1104d二分+数学
    01背包专题
    hdu1069线性dp
    有源汇的上下界最大流
    有源汇的上下界最大流
  • 原文地址:https://www.cnblogs.com/godgirl9111/p/7338020.html
Copyright © 2011-2022 走看看