LINQ语法记录

  static void Main(string[] args)
        {
            List<Person> persons = new List<Person>();

            persons.Add(new Person() { Age = 11, ClassId = "1", Name = "小明" });
            persons.Add(new Person() { Age = 15, ClassId = "2", Name = "小明2" });
            persons.Add(new Person() { Age = 16, ClassId = "5", Name = "小明3" });
            persons.Add(new Person() { Age = 17, ClassId = "4", Name = "小明4" });
            persons.Add(new Person() { Age = 18, ClassId = "3", Name = "小明5" });
            persons.Add(new Person() { Age = 17, ClassId = "4", Name = "小明6" });
            List<Classes> classes = new List<Classes>();
            classes.Add(new Classes() { ClassId = "1", ClassName = "1年级" });
            classes.Add(new Classes() { ClassId = "2", ClassName = "2年级" });
            classes.Add(new Classes() { ClassId = "3", ClassName = "3年级" });
            classes.Add(new Classes() { ClassId = "4", ClassName = "4年级" });
            classes.Add(new Classes() { ClassId = "5", ClassName = "5年级" });
            //查询年纪大于12 小于17的学生
            List<Person> person = (from p in persons where p.Age > 12 && p.Age < 17 select p).ToList<Person>();

            //表连接
            var datas = from p in persons
                        join c in classes on p.ClassId equals c.ClassId
                        select new { p.Name, p.Age, c.ClassName };
            //查询每个班级每个年龄段的人数 并排序
            var data = from c in classes
                       join p in persons on c.ClassId equals p.ClassId

                       group c by new {c.ClassName,p.Age} into g
                       orderby g.Count() descending
                       select new { g.Key,Count = g.Count() }
                       ;
            Console.ReadKey();
        }
    }
时间: 2024-10-11 23:08:02

LINQ语法记录的相关文章

LINQ 语法

语言集成查询 (LINQ) 是 Visual Studio 2008 和 .NET Framework 3.5 版中一项突破性的创新,它在对象领域和数据领域之间架起了一座桥梁. 传统上,针对数据的查询都是以简单的字符串表示,而没有编译时类型检查或 IntelliSense 支持.此外,您还必须针对以下各种数据源学习不同的查询语言:SQL 数据库.XML 文档.各种 Web 服务等.LINQ 使查询成为 C# 和 Visual Basic 中的一等语言构造.您可以使用语言关键字和熟悉的运算符针对强

Linq To Sql中实现Left Join与Inner Join使用Linq语法与lambda表达式

当前有两个表,sgroup与sgroupuser,两者通过gKey关联,而sgroup表记录的是组,而sgroupuser记录是组中的用户,因此在sgroupuser中不一定有数据.需要使用Left Join获取数据: Linq语法如下: var sg = (from g in dc.sgroup join gu in dc.sgroupuser on g.gKey equals gu.gKey into l from lgu in l.DefaultIfEmpty() select new {

Linq语法详细

1.简单的linq语法 //1 var ss = from r in db.Am_recProScheme select r; //2 var ss1 = db.Am_recProScheme; //3 string sssql = "select * from Am_recProScheme"; 2.带where的查询 //1 var ss = from r in db.Am_recProScheme where r.rpId > 10 select r; //2 var ss

Linq 语法举例

1.简单的linq语法 //1 var ss = from r in db.Am_recProScheme select r; //2 var ss1 = db.Am_recProScheme; //3 string sssql = "select * from Am_recProScheme"; 2.带where的查询 //1 var ss = from r in db.Am_recProScheme where r.rpId > 10 select r; //2 var ss

Markdown 常见语法记录

Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面. 简单的来说,Markdown就是用"标记符号"表示"格式".Markdown语法标签与HTML语法标签是一一对应的,比如Markdown的二级标题标签##就对应着HTML中的< h2>-< /h2>标记,而且Markdown是兼容HTML语法的,如果你比较喜欢 HTML 的< a >或 < img >

Linq语法

1.简单的linq语法 //1 var ss = from r in db.Am_recProScheme select r; //2 var ss1 = db.Am_recProScheme; //3 string sssql = "select * from Am_recProScheme"; 2.带where的查询 //1 var ss = from r in db.Am_recProScheme where r.rpId > 10  select r; //2 var s

Linq语法详细(三种方式:linq、Lambda、SQL语法)

三种方式:linq.Lambda.SQL语法 1.简单的linq语法 //1 var ss = from r in db.Am_recProScheme select r; //2 var ss1 = db.Am_recProScheme; //3 string sssql = "select * from Am_recProScheme"; 2.带where的查询 //1 var ss = from r in db.Am_recProScheme where r.rpId >

Linq语法及用法

引用来自:http://blog.sina.com.cn/s/blog_9c47a1520100vjuf.html Linq语法及用法 (2011-12-23 09:40:26) 转载▼ 标签: 集合 temp1 复本 t2 默认值 linq sql it 分类: SQL System.Linq.IGrouping<T> System.Linq.ILookup<TKey,TElement> System.Linq.IOrderedEnumerable<T> System

Perl常用语法记录

Perl常用语法记录 ##包的切换和调用其它包的方式 #package A; #my $a=10; #package B; #print $A::a; #print $a;     ##local局部标识符的使用 #$aa=20; #{ # local $aa; # $aa=10; # print "$aa \n"; # #} #print $aa; ##别名的使用 =comment $b=10; $a=1; $c=200; { local *b; *b=*a; $b=20; prin