zoukankan      html  css  js  c++  java
  • EntityFramework数据持久化 Linq介绍

    一、LINQ概述与查询语法

    二、LINQ方法语法基础(重点)

    三、LINQ聚合操作与元素操作(重点)

    四、数据类型转换(重点)

    一、LINQ概述与查询语法


    1、LINQ(Language Integrated Query,语言集成查询)提供了一种跨数据源和数据格式查询的统一模型。

    2、LINQ的组成:
    1)LINQ To Objects:查询集合对象
    2)LINQ enabled ADO.NET:查询数据库
     LINQ To DataSet
     LINQ To SQL
     LINQ To Entities -> EntityFramework
    3)LINQ To XML:查询XML文档

    3、LINQ的语法:
    from [type] id in source
    [join [type] id in source on expr equals expr [into subGroup]]
    [from [type] id in source | let id = expr | where condition]
    [orderby ordering,ordering,ordering…]
    select expr | group expr by key
    [into id query]
    注意:只有实现了IEnumerable接口的数据源,才能执行相关的LINQ操作。

    4、LINQ查询的步骤:
    1)创建数据源:
    int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 };
    2)定义查询:
    var numQuery =
    from num in numbers
    where (num % 2) == 0
    select num;
    3)执行查询:
     foreach (int num in numQuery)
    {
    Console.Write("{0,1} ", num);
    }
     聚合操作
     元素操作
     类型转换

    二、LINQ方法语法基础


    1、方法语法的是通过扩展方法和Lambda表达式来创建查询。
    查询语法和方法语法在语义上是相同的,但是大多数情况下发现查询语法更简单且更易于阅读;并且某些查询必须表示为方法调用(比如聚合操作)。

    2、Where(筛选操作)、OrderBy(排序操作)、Select(投影操作)三个常用扩展方法的签名:
    1)public static IEnumerable Where
    (this IEnumerable source, Func<TSource, bool> predicate)
    2)public static IEnumerable OrderBy<TSource, TKey>
    (this IEnumerable source, Func<TSource, TKey> keySelector)
    3)public static IEnumerable Select<TSource, TResult>
    (this IEnumerable source, Func<TSource, TResult> selector)

    三、LINQ聚合操作与元素操作


    1、聚合操作
    1)Count:对集合中的元素计数,以及对集合中满足条件的元素计数
    2)LongCount:与Count相同,当Count中元索的个数超过int类型值的上限时使用
    3)Max:确定集合中的最大值
    4)Min:确定集合中的最小值
    5)Sum:计算集合中值的总和
    6)Average:计算集合中值的平均值

    2、元素操作
    1)ElementAt:返回集合中指定索引处的元素
    2)ElementAtOrDefault:返回集合中指定索引处的元素,如果索引超出范围则返回默认值
    3)First:返回集合中的第一个元素或满足条件的第一个元素
    4)FirstOrDefault:返回集合中的第一个元素或满足条件的第一个元素,如果没有则返回默认值
    5)Last:返回集合中的最后一个元素或满足条件的最后一个元素
    6)LastOrDefault:返回集合中的最后一个元素或满足条件的最后一个元素,如果没有则返回默认值
    7)Single:返回集合中的唯一元素或满足条件的唯一元素
    8)SingleOrDefault:返回集合中的唯一元素或满足条件的唯一元素,如果没有,则返回默认值

    四、数据类型转换


    1、类型转换
    1)ToList:将集合转换为List
    2)ToArray:将集合转换为数组
    3)ToDictionary:根据键选择器函数将元索放入Dictionary<TKey,Tvalue>中
    4)ToLookup:根据键选择器函数将元索放入Lookup<Tkey,Telement>中
    5)AsEnumerable:将一个序列转换为IEnumerable集合
    6)AsQueryable:将IEnumerable转换为IQueryable
    7)Cast:将集合的元素强制转换为指定类型
    8)OfType:根据值强制转换为指定类型的能力筛选值

    Linq查询案例

  • 相关阅读:
    HTML目录
    Java目录
    高级Swing——列表
    Java Web目录
    mongodb目录
    MySQL目录
    基于C++11的线程池
    数据库架构的演变
    cocos2dx-3.0(14)------SpriteBatchNode与SpriteFrameCache加快渲染
    cocos2d-x 托付模式的巧妙运用——附源代码(一)
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13074426.html
Copyright © 2011-2022 走看看