首页 > 代码库 > 网页端程序小知识

网页端程序小知识

一、LinQ Distinct某字段去重

  新建类GoodsIdComparer,继承 IEqualityComparer<Goods>,实现Equals方法

    public class GoodsIdComparer : IEqualityComparer<Goods>
        {
            public bool Equals(Goods x, Goods y)
            {
                if (x == null)
                    return y == null;
                return x.Gproducer == y.Gproducer;
            }

            public int GetHashCode(Goods obj)
            {
                if (obj == null)
                    return 0;
                return obj.Gproducer.GetHashCode();
            }
        }//根据产地(Gproducer)去重

  使用的时候,只需要
技术分享
  var distinctGoods= allGoods.Distinct(new GoodsIdComparer());//需要引用命名空间

二、MVC的控制器Controllers中用using直接调用数据库组合查询

  在MVC的控制器Controllers中用using直接调用数据库组合查询,返回视图时应注意为:

  return View(new List<Goods>(All));

  

       using (FruitDataContext con = new FruitDataContext())
            {
                var All = con.Goods.AsEnumerable();
                if (category != "")
                {
                    var Category = con.Goods.Where(r => r.Gcategory == category);
                    All = All.Intersect(Category);
                }
            }
            return View(new List<Goods>(All));    

 

  视图中引用强类型:

  @model List<Goods>

三、LinQ查询数据库中自增列ID的最大值

        public int Maxid()
        {
            return con.Goods.Max(r=>r.Gids);
        }

 

网页端程序小知识