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类型
     
     
  • 相关阅读:
    关于aspx消除源代码的第一行空行(一步搞定!!!)
    考虑
    一段时间没来园子了
    随便写写
    自考群网站功能说明
    打开一个别人的代码遇到的问题
    i7 4790 z97ar ssd 固态硬盘 装机的一些经历
    我编程遇到的问题,解决方法与大家分享
    学习,学习,还是学习
    准备考试
  • 原文地址:https://www.cnblogs.com/xiaojian1/p/5462920.html
Copyright © 2011-2022 走看看