C# LINQ 返回重复数据

  • 本文关键字:数据 返回 LINQ c# linq
  • 更新时间 :
  • 英文 :


我有一个 linq 查询:

var fling = (from b in flowering.FlowerViews
                     where ((!string.IsNullOrEmpty(flow_name)) && b.FLOWER_NAME == flow_name) || flow_name==""
                     where ((!string.IsNullOrEmpty(color_name)) && b.COLOR_NAME == color_name) || color_name == ""
                     where ((!string.IsNullOrEmpty(size)) && b.FLOWER_SIZE == size) || size==""
                     where ((low_price!=0) && low_price<= b.FLOWER_PRICE) || low_price==0
                     where ((high_price!=0) && high_price >= b.FLOWER_PRICE)  || high_price==0
                     orderby b.COLOR_NAME
                     select new { b.FLOWER_NAME, b.COLOR_NAME, b.FLOWER_SIZE, b.FLOWER_PRICE, b.CHAR_DESC});

my where 子句对我有用,但是当我对返回的值运行 for each 循环时,有重复的数据,因为b.CHAR_DESC有 3 个值,而所有其他返回数据只有一个。 我想知道是否有办法将分配给b.CHAR_DESC的 3 个值放入不会导致重复b.Flower_name出现的结构中

基于这篇文章,你应该能够为匿名类型调用 Distinct()

var list = fling.Distinct().ToList();

编译器将根据属性值处理匿名类型的GetHashCode()Equals()

在 select 子句末尾的最后一个括号之后添加.Distinct()

相关内容

  • 没有找到相关文章

最新更新