C#-LINQ去重

        public class MemberInventoryDailyReportPOComparer : IEqualityComparer<MemberInventoryDailyReportPO>
        {
            public bool Equals(MemberInventoryDailyReportPO x, MemberInventoryDailyReportPO y)
            {
                return x.WarehouseID == y.WarehouseID &&
                    x.MemberID == y.MemberID &&
                    x.CommodityID == y.CommodityID &&
                    x.ProductBatchID == y.ProductBatchID &&
                    x.StockType == y.StockType && 
                    x.InAmount == y.InAmount && 
                    x.OutAmount == y.OutAmount;
            }
            public int GetHashCode(MemberInventoryDailyReportPO obj)
            {
                return (obj.WarehouseID + obj.MemberID + obj.CommodityID + obj.ProductBatchID + obj.StockType + obj.InAmount + obj.OutAmount).GetHashCode();
            }
        }
        /// <summary>
        /// MemberInventoryDailyReportPO去重实体
        /// </summary>
        public class MemberInventoryDateReportPOComparer : IEqualityComparer<MemberInventoryDailyReportPO>
        {
            public bool Equals(MemberInventoryDailyReportPO x, MemberInventoryDailyReportPO y)
            {
                return x.DailyReportID == y.DailyReportID;//唯一值
            }
            public int GetHashCode(MemberInventoryDailyReportPO obj)
            {
                return obj.DailyReportID.GetHashCode();
            }
        }

dataEnd = dataEnd.Distinct(new MemberInventoryDateReportPOComparer());//调用

 

posted @ 2021-10-28 16:00  东方李  阅读(186)  评论(0编辑  收藏  举报