LINQ查询

LINQ能够解决的问题

.NET平台开发中一直存在的情况:

  1. 面向对象编程语言与数据库访问方法长期分离,以嵌入式方式开发

    嵌入式SQL语句没有任何提示,很容易出错

  2. 编程语言中的数据类型与数据库中的数据类型完全是两套体系

    例如:C#中字符串string在SQL中使用varchar/Nvarchar/char来表示

  3. SQL和XML都有各自的查询语言,而对象没有自己的查询语言

    例如:要从一个List< T>集合或者数组中找到符合要求的元素非常困难。

LINQ查询重点解决以上问题

LINQ是什么

LINQ(Language Integrated Query)

语言集成查询

  1. 是微软公司提供的一项新技术,能够将查询功能直接引入到C#、VB.NET等编程语言中

  2. 查询操作可以通过编程语言自身来表示,而不是嵌入字符串SQL语句

LINQ的组成

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

  2. LINQ to XML 主要负责XML的查询

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

    1. LINQ to SQL (目前已经没人使用)

    2. LINQ to DataSet

    3. LINQ to Entities (重点学习)

LINQ的命名空间

  1. System.Linq;该命名空间已经由系统自动引入

  2. 因此微软默认建议多使用Linq技术查询

不采用LINQ技术的查询

 static void Main(string[] args)
        {
            //1.从数组中拿到所有的偶数
            int[] nums = { 1, 22,18,2, 3, 5, 7, 6, 8, 9, 23, 12 };
            List<int> list = new List<int>();
            foreach (int item in nums)
            {
                if (item%2==0)
                {
                    list.Add(item);
                }
            }
            list.Sort();
            list.Reverse();
            for (int i = 0; i < list.Count; i++)
            {
                Console.WriteLine(list[i]);
            }
            Console.ReadLine();
        }

采用LINQ技术进行查询

int[] nums = { 1, 22, 18, 2, 3, 5, 7, 6, 8, 9, 23, 12 };
            var list = from item in nums
                       where item % 2 == 0
                       orderby item descending
                       select item;
            foreach (var item in list)
            {
                Console.WriteLine(item);
            }

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值