LINQ编程之LINQ to SQL

来源:互联网 发布:淘宝代理怎么申请 编辑:程序博客网 时间:2024/05/21 07:13

最近比较忙,博客更新的比较慢,请大家谅解!

今天来简单介绍一下LINQ to SQL的知识。(用实例)

什么是LINQ to SQL?

       LINQ to SQL是基于关系数据的.NET语言集成查询,用于以对象形式管理关系数据,并提供丰富的查询功能。

下面开始介绍LINQ to SQL的用法,在LINQPad下实现。


实例中用到的表:

<1>LINQ to SQL查询所有字段

from p in Coursesselect p


<2>LINQ to SQL---列别名

from p in Coursesselect new{   课程号=p.CourseID,   课程名称=p.CourseName}


<3>LINQ to SQL---where

from p in Courseswhere p.CourseID==4select new{   课程号=p.CourseID,   课程名称=p.CourseName}


<4>LINQ to SQL---First()          (注:获取记录集中的第一条记录;注意大小写)

(from p in Coursesselect new{课程号=p.CourseID,课程名称=p.CourseName}).First()

<5>LINQ to SQL---Distinct()

不加Distinct()

(from p in Resultsselect p.StudentID)


加Distinct()

(from p in Resultsselect p.StudentID).Distinct()

<6>LINQ to SQL---Count()

(from p in Resultswhere p.StudentID=="20050101"select p).Count()

<7>LINQ to SQL---Sum()

(from p in Resultswhere p.StudentID=="20050101"select p.Result).Sum()


<8>LINQ to SQL---Max()

(from p in Resultswhere p.StudentID=="20050101"select p.Result).Max()


<9>LINQ to SQL---Min()

(from p in Resultswhere p.StudentID=="20050101"select p.Result).Min()


<10>LINQ to SQL---Average()

(from p in Resultswhere p.StudentID=="20050101"select p.Result).Average()


<11>LINQ to SQL---orderby

升序 

from p in Resultswhere p.StudentID=="20050101"orderby p.Resultselect p


降序 

from p in Resultswhere p.StudentID=="20050101"orderby p.Result descendingselect p


<12>LINQ to SQL---group   by

from p in Resultsgroup p by p.CourseID into gselect g


<13>LINQ to SQL--- 多表连接查询

方法一:

from p in Resultsfrom q in Courseswhere p.CourseID==q.CourseIDselect new{  学号=p.StudentID,  课程编号=q.CourseID,  课程名称=q.CourseName,  成绩=p.Result}


方法二:

from p in Resultsjoin q in Courses on p.CourseID equals q.CourseIDselect new{  学号=p.StudentID,  课程编号=q.CourseID,  课程名称=q.CourseName,  成绩=p.Result}

<14>LINQ to SQL---多表连接查询中使用 group   by

from p1 in Resultsjoin p2 in Courses on p1.CourseID equals p2.CourseIDgroup p1.Result by new{  p1.CourseID,  p2.CourseName}into gselect new{  课程编号=g.Key.CourseID,  课程名称=g.Key.CourseName,  最高分=g.Max(),  最低分=g.Min(),  平均分=g.Average()}

<完>


原创粉丝点击