C# List<T>去重的三种方法

学习来源:C# List<T>去重的三种方法 - 微笑代表淡定.Net - 博客园

最近再写一个EF语句:一个商品对应两个型号,两个型号不同规格和价格,查询条件有:标签,价格,风格

 

List<DataRe> CommodityList = (from ShopInfoCommodityRelation in db.e_ShopInfoCommodityRelation
                              join Commodity in db.e_Commodity on ShopInfoCommodityRelation.CommodityId equals Commodity.CommodityId
                              join Property in db.e_Property on Commodity.CommodityId equals Property.CommodityID
                              where ShopInfoCommodityRelation.IsAction.Equals(1)
                                    && Commodity.IsDelete.Equals(0)
                                    && ShopInfoCommodityRelation.ShopInfoId.Equals(gid)
                                    && (Commodity.StyleModelId == model.StyleModel || model.StyleModel == -2)//风格
                                    && (db.e_LableComTypeRelation.Where(a => a.LableID == model.LableId).Select(a => a.CommodityType).Any(a => a == Commodity.CommodityTypeItemId))//标签
                                    && (Property.RetailPrice > model.MinPrice && Property.RetailPrice <= model.MaxPrice)
                                        select new DataRe
                                        {
                                            RId=ShopInfoCommodityRelation.RId,
                                            VersionCode= ShopInfoCommodityRelation.VersionCode,
                                            CommodityId= Commodity.CommodityId,
                                            CommodityName= Commodity.CommodityName,
                                            CommodityContext= Commodity.CommodityContext,
                                            CommodityTypeId= Commodity.CommodityTypeId,
                                            CommodityTypeItemId=Commodity.CommodityTypeItemId,
                                            CommodityFrom=Commodity.CommodityFrom,
                                            Material=Commodity.Material,
                                            CommodityBrand=Commodity.CommodityBrand,
                                            StyleModelId=Commodity.StyleModelId,
                                            Index=Commodity.Index,
                                            PropertyList = db.e_Property.Where(a => a.CommodityID.Equals(Commodity.CommodityId)).OrderBy(a => a.CommodityModel).ToList()
                                        }).ToList();
                   
                    List<DataRe> list = CommodityList.Where((x, i) => CommodityList.FindIndex(z => z.CommodityId == x.CommodityId) == i).ToList();//去重

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值