一、什么是Linq?

LINQ即Language Integrated Query(语言集成查询),LINQ是合二为一及C#暨Visual
Basic.NET这些语言中用于提供查询数据力的一个初特色。

LINQ是同样种植用来开展多少看的编程模型,Linq可以用平等之语法访问不同之数据源,比如xml、数据库、注册表、事件日志等。

老二、Linq包含如何有?

1、Linq to
Sql组件:可以查询关系项目数据库的数额,并得以供任何操作,如搜寻、插入、修改、删除、排序、聚合、分区等。

2、Linq to DataSet组件:查询DataSet对象吃之数目。

3、Linq to Object组件:可以查询IEnumerable或是IEnumerable
集合对象,即能查询任何可以枚举的集,如数组(Array和ArrayList)、泛型字典Dictinary等,以及用户从定义的联谊,而无待运用Linq提供程序还是API。

4、Linq to XML组件:查询及操作XML结构的数据。

5、Linq to Entities:是 Entity Framework 的一致有的还要代 LINQ to SQL
作为以数据库及运用 LINQ 的正统机制。Entity Framework
是行领先的对象-关系映射(ORM)系统。可以和多种数据库一起行使,并支持各种眼疾、复杂的数据模型。

其三、Linq的一些用法

1、简单的LINQ查询

static void Main(string[] args)

{

int[] marks = { 60, 77, 82, 46, 59, 98, 100, 84 };//定义一个数组

var good = from m in marks//使用LINQ找到有数值过等于60之数字

where m >= 60

select m;

foreach (int mark in good)//循环每一个结出

{

Console.WriteLine(mark);//输出结果

}

}

2、使用Lambda表达式的LINQ查询

static void Main(string[] args)

{

int[] marks = { 60, 77, 82, 46, 59, 98, 100, 84 };

var good = marks.Where(m => m >=
60);//使用Lambda表达式查询数值高于等于60之数字

foreach (int mark in good)//循环每一个结出

{

Console.WriteLine(mark);//输出结果

}

}

3、使用LINQ查询对象集合

class Program

{

static void Main(string[] args)

{

List students = new List//申明Student对象的聚众

{

new Student{ StudentID=1, Sex=true, Name=”小明”,
Birthday=Convert.ToDateTime(“1984-1-1”)},

new Student{ StudentID=2, Sex=false, Name=”小张”,
Birthday=Convert.ToDateTime(“1983-5-1”)},

new Student{ StudentID=3, Sex=true, Name=”小王”,
Birthday=Convert.ToDateTime(“1983-2-15”)},

new Student{ StudentID=4, Sex=false, Name=”小丽”,
Birthday=Convert.ToDateTime(“1985-3-8”)}

};

//接下使用LINQ查询有年龄低于25年份之男性

var names = from s in students

where s.Sex == true&&s.GetAge()<25 //调用对象的章程

select s.Name;

foreach (string name in names)//循环输出结果

{

Console.WriteLine(name);

}

}

}

public class Student  //定义Student类

{

//以下是定义类中属性

public string Name { get; set; }

public int StudentID { get; set; }

public bool Sex { get; set; }

public DateTime Birthday { get; set; }

//以下是定义类中之计

public int GetAge()

{

return DateTime.Now.Year – Birthday.Year;

}

}

季、Linq有啊利益?

1、容易上手,学习成本低

2、可以老十分程度达压缩代码量。

3、更快开发错误还不见的应用程序。

4、可以充分易之联数据源。

5、让初开发者开发效率又强。

6、任何对象或数源都可以定制实现Linq适配器,为数量交互带来真正便民。

迎关注自己之民众号(同步更新文章):DoNet技术分享平台

阅读原文

相关文章

网站地图xml地图