轻松学习-LinQ语句
前言 |
最近在学习LinQ语句,之前只是听说过,原本以为掌握SQL语句就可以吃遍大江南北,但事实不是这样的,SQL语句是基础,SQL语句学好了,Linq语句也很容易上手!
ps:LINQ的读法:lin k 很多人会误读为lin Q
什么是LinQ |
LinQ(Language Integrated Query)语言集成查询是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以操作内存数据的方式,查询数据库。
鄙人认为:LinQ语句和SQL语句一样是对数据库进行各种操作的语言,但是LinQ相比SQL更加的灵活、简单。主要区别还是LinQ是面向对象的,操作的都是对象。
LinQ的优点 |
- 熟悉的语言:开发人员不必为每种类型的数据源或数据格式学习新的查询语言。
- 较少的编码:与传统方法相比,它减少了要编写的代码量。
- 能够大幅减少过程控制语句的代码块,使代码的可读性和可维护性大幅提高。
- 任何对象或数据源都可以定制实现Linq适配器,为数据交互带来真正方便。
- 无需求助奇怪的编程技巧就可合并数据源。
Demo |
定义两个集合Master和Dog
Master m1 = new Master { Id = 1, Name = "ywq" };
Master m2 = new Master { Id = 2, Name = "wq" };
Master m3 = new Master { Id = 3, Name = "q" };
Master[] masters = { m1, m2, m3 };
Dog d1 = new Dog { Id = 1, MasterId = 3, Name = "ww",Age=3 };
Dog d2 = new Dog { Id = 2, MasterId = 3, Name = "mm" ,Age=5};
Dog d3 = new Dog { Id = 3, MasterId = 1, Name = "yy" ,Age=3};
Dog d4 = new Dog { Id = 4, MasterId = 2, Name = "wmy" ,Age=2};
Dog d5 = new Dog { Id = 5, MasterId = 1, Name = "my" ,Age=5};
Dog[] dogs = { d1, d2, d3, d4, d5 };
遍历Dog的ID
//遍历Dog 的ID
IEnumerable<int> items = from d in dogs
select d.Id;
foreach (var item in items)
{
Console.WriteLine(item);
} //结果 1、2、3、4、5
匿名属性名称
多个字段排序
join 多表连接
狗年龄最大的ID号
总结 |
一些简单了demo还是很有意思的,非常基础,LinQ一般和EF框架结合使用,之后就开始学习EF框架了,还要继续加油!