LINQ编程之LINQ to SQL

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

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

什么是LINQ to SQL?

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

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


实例中用到的表:

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

from p in Courses
select p


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

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


<3>LINQ to SQL---where

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


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

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

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

不加Distinct()

(from p in Results
select p.StudentID
)


加Distinct()

(from p in Results
select p.StudentID
).Distinct()

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

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

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

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


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

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


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

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


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

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


<11>LINQ to SQL---orderby

升序 

from p in Results
where p.StudentID=="20050101"
orderby p.Result
select p


降序 

from p in Results
where p.StudentID=="20050101"
orderby p.Result descending
select p


<12>LINQ to SQL---group   by

from p in Results
group p by p.CourseID into g
select g


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

方法一:

from p in Results
from q in Courses
where p.CourseID==q.CourseID
select new
{
  学号=p.StudentID,
  课程编号=q.CourseID,
  课程名称=q.CourseName,
  成绩=p.Result
}


方法二:

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

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

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

<完>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值