欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

初识LINQ

程序员文章站 2022-03-05 09:25:29
...

LINQ,全称Language Integrated Query(语言集成查询),是一组用于C#和VB语言的扩展,它允许编写C#或者VB代码以操作内存数据的方式,查询数据库。

LINQ是一组语言特性和API,使得你可以使用统一的方式编写各种查询。用于保存和检索来自不同数据源的数据,从而消除了编程语言和数据库之间的不匹配,以及为不同类型的数据源提供单个查询接口。

LINQ总是使用对象,因此你可以使用相同的查询语法来查询和转换XML、对象集合、SQL数据库、ADO.NET数据集以及任何其他可用的LINQ提供程序格式的数据。

查询语句方式:(Query Syntax)一种更接近SQL语法的查询方式,可读性更好。

LINQ主要包含以下三部分:

1、LINQ to Objects      主要负责对象的查询。

2、LINQ to XML           主要负责XML的查询。

3、LINQ to ADO.NET   主要负责数据库的查询。

  LINQ to SQL

  LINQ to DataSet

  LINQ to Entities

LINQ的优势:

1、熟悉的语言:开发人员不必为每种类型的数据源或数据格式学习新的语言。

2、更少的编码:相比较传统的方式,LINQ减少了要编写的代码量。

3、可读性强:LINQ增加了代码的可读性,因此其他开发人员可以很轻松地理解和维护。

4、标准化的查询方式:可以使用相同的LINQ语法查询多个数据源。

5、类型检查:程序会在编译的时候提供类型检查。

6、智能感知提示:LINQ为通用集合提供智能感知提示。

7、整形数据:LINQ可以检索不同形状的数据。

 

简单的linq用法:

//用法1

var result=from  r in db.UserInfo

//用法2

var result2=db.UserInfo

//用法3

string result3="select * from UserInfo"

带where的查询

//用法1

var result=from  r in db.UserInfo

where r.UserID>10

select r;

//用法2

var result2=db.UserInfo.where(p=>p.UserID>10)

//用法3

string result3="select * from UserInfo where UserID>10"

简单的函数计算

//获取最大ID

var result=(from r in db.UserInfo

select r).Max(p=>p.UserID);//方法一

var res=db.UserInfo.Max(p=>p.UserID);//方法二

string res="select Max(UserID) from UserInfo";//方法三

//获取最小ID

var result=(from r in db.UserInfo

select r).Min(p=>p.UserID);//方法一

var res=db.UserInfo.Min(p=>p.UserID);//方法二

string res="select Min(UserID) from UserInfo";//方法三

//获取集合总数

var res=(from r in db.UserInfo

select r).Count();//方法一

var res=db.UserInfo.Count(p=>p.UserID);//方法二

string res="select Count(UserID) from UserInfo";//方法三

//求和

var res=(from r in db.UserInfo

select r).Sum(p=>p.UserID);//方法一

var res=db.UserInfo.Sum(p=>p.UserID);//方法二

string res="select Sum(UserID) from UserInfo";//方法三

排序

//正序排序

var res=from r in db.UserInfo

where r.UserID>10

orderby  ascending

select r;//方法一

var res=db.UserInfo.Orderby(p=>p.UserID).where(p=>p.UserID>10).ToList();//方法二

string res="select * from UserInfo where UserID>10 order by UserID asc"//方法三

//倒序排序

var res=from r in db.UserInfo

where r.UserID>10

orderby  descending

select r;//方法一

var res=db.UserInfo.OrderbyDescEnding(p=>p.UserID).where(p=>p.UserID>10).ToList();//方法二

string res="select * from UserInfo where UserID>10 order by UserID desc"//方法三

 

相关标签: linq

上一篇: Linq初学用法(1)

下一篇: 第十二章