zoukankan      html  css  js  c++  java
  • LINQ中的group操作

    static void Main(string[] args)
    {
        var products=new[]
            {
                new{ProductName="Apple",Category="Food"},
                new{ProductName="Cat",Category="Animal"},
                new{ProductName="Dog",Category="Other"},
                new{ProductName="Pig",Category="Animal"},
            };

        var q = from p in products
                group p by p.Category into g
                orderby g.Key
                select g;

        foreach (var item in q)
        {
            Console.WriteLine(item.Key);
            foreach (var i in item)
            {
                Console.WriteLine("\t" + i.ProductName);
            }
        }

        Console.Read();

    }

    image

    另外一个结合join的例子

    static void Main(string[] args)
    {
        NorthwindDataContext db = new NorthwindDataContext();
        var products = db.Products;
        var categorys = db.Categories;

        var query = from result in
                        from p in products.AsEnumerable()
                        join c in categorys.AsEnumerable()
                        on p.CategoryID equals c.CategoryID //这里必须写equals,而不能是=
                        select new { CategoryName = c.CategoryName, Product = p }
                    group result by result.CategoryName into g
                    select g;

        foreach (var group in query)
        {
            Console.WriteLine(group.Key);
            foreach (var product in group)
            {
                Console.WriteLine("\t"+product.Product.ProductName);
            }
        }
        Console.Read();

    }

     

    image

    【注意】我这里用的是LINQ TO SQL模型,访问了Northwind这个数据库

    image

  • 相关阅读:
    关于python3.x语法
    linux简单的安全防护
    hydra(爆破神器)
    扫描Linux服务器查找恶意软件和rootkit的一款工具
    chm 已取消到该网页的导航,打不开!
    android:activity知识点
    C# Mutex对象的使用
    惯性质量与引力质量的联系
    c# timer使用
    weiFenLuo.winFormsUI.Docking.dll学习
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1488100.html
Copyright © 2011-2022 走看看