zoukankan      html  css  js  c++  java
  • EF+Lamdba的三种去除重复项

     
    今天在写项目的时候出现了这个问题,经过百度和帮人帮助最终原来lamdba是这样去除重复项的             var Total1 = db.NikeDTCDailyReport.Where(p => p.CN_Launch_Date >= date1 && p.CN_Launch_Date <= date2).Where(p => p.CN_Planning_Qty != 0).ToList();
                var Total2= Total1.Where((x, i) => Total1.FindIndex(p => p.Style == x.Style) == i).Count(); 
    第二种是
                 var SDLDelivered1 = db.NikeDTCDailyReport.Where(p => p.CN_Launch_Date >= date1 && p.CN_Launch_Date <= date2
                && p.CN_Planning_Qty != 0 && p.LW_Specs_Review == null && p.Sample_Batch == null && p.Review_Request_to_Category == null && p.Review_back_from_Category == null
    ).Where(p => p.CN_CN_Copy_Status__Y_N_ == "Y").Select(p=>p.Style).ToList();
                var SDLDelivered2 = SDLDelivered1.Distinct().Count(); 
    使用的是大多数人都知道的转成集合试用Distinct来去除去除重复
    第三钟
            var CategoryReviewwing1 = db.NikeDTCDailyReport.Where(p => p.CN_Launch_Date >= date1 && p.CN_Launch_Date <= date2)
        .Where(p => p.CN_Planning_Qty != 0 && p.Review_Request_to_Category != null &&
        p.Review_back_from_Category == null
        ).AsEnumerable().ToList();
                //  var CategoryReviewwing2 = CategoryReviewwing1.GroupBy(o => new { o.Style }).ToList().Exists(g => g.Count() > 1);

      var CategoryReviewwing2 = CategoryReviewwing1.GroupBy(o => new { o.Style }).Where(g => g.Count() >= 1).ToList();
      var CategoryReviewwing2 = CategoryReviewwing1.GroupBy(o => new { o.Style }).Where(g => g.Count() >= 1).Count();

    其中 注释了的是 查询有多少的重复的数据 而第二个则是转成list集合,第三个则是转换成int类型
     
     
  • 相关阅读:
    第九章 ZYNQ-MIZ701 片上ADC的使用
    第八章 ZYNQ-MIZ701 软硬调试高级技巧
    第七章 ZYNQ-MIZ701 GPIO使用之EMIO
    第六章 ZYNQ-MIZ701 GPIO使用之MIO
    第十章 MIZ702 ZYNQ制作UBOOT固化程序
    bzoj1070 [SCOI2007]修车
    bzoj1449 [JSOI2009]球队收益
    bzoj2007 [Noi2010]海拔
    bzoj1001 [BeiJing2006]狼抓兔子
    网络流的一类经典问题--二元费用问题
  • 原文地址:https://www.cnblogs.com/xiaojian1/p/5462920.html
Copyright © 2011-2022 走看看