zoukankan      html  css  js  c++  java
  • Linq的使用 <一>

    一、种类

    1.Linq to Objects,实现了IEnumerable<T>集合对象的集成查询

    2.Linq to sql,针对关系数据库MSSQL的解释查询

    3.Linq to Entities,通过实体数据模型,支持多个数据库的Linq

    4.Linq to XML,针对XML文档的集成查询

    二、λ表达式

    1、形式

    (1)一个参数+一条语句/c#表达式:参数 = > C# 表达式

    (2)一个参数+一条或多条语句:参数 = > { 处理语句 }

    (3)多个参数:(参数1,参数2,……参数n) => { 处理语句 }

    (4)无参数:() = > { 处理语句 }

    可以将表达式赋给委托对象:

    1   delegate int myDelegate(int i );
    2         myDelegate dobj = s => { return s * s; };
    3         //或返回值就是表达式结果
    4         myDelegate dobj1 = s => s * s;

    2、查询语法:

    1)在list集合中的使用:

    如果是用匿名方法来查询某条信息:

    1 List<string> names = new List<string>() { "", "" };
    2 List<string> lnames = names.FindAll(delegate(string s) { return s[0] == ''; });//查询第一个字是李的集合

    改为lambda表达式来查询,就可以省略return和委托字段:

     1 List<string> lnames1 = names.FindAll(s => s[0] == ''); 

    调用方法:集合.Where().Orderby.Select()……

    a.where 只接受一个输入序列和一个谓词作为参数,返回一个结果续集

    b.orderby(n=>n) 调用自身,orderby(n=>n.Length)调用长度……可以按长度或按字母顺序对数组进行排序

    c.select 投影

    3、查询表达式:以from开头,以select或group结束。

    1)基本形式:

    var 结果集= from 元素变量 in 数据源 select 元素或元素属性

    2)有where子句的形式:

    var 结果集= from 元素变量 in 数据源 where 布尔表达式 select 元素或元素属性

    例:

     1 var bi = from b in names where b.GetType() == typeof(string) select b; 

    3)into:在 select 或 group 子句后,用“into 变量名”开始新的查询(相当于把一个查询结果放入表里在对表进行操作)

       let:直接引入一个新变量,在select 子句前 (let 变量名= ……)

    三、Linq to Objects

    1、投影输出多个标量元素

    select new ProjectionItem{ Name = s.name,Age = s.age }

    //表示投影s对象的两个字段,创建ProjectionItem的对象(可匿名),s.name和s.age为字段值,也可以自行拓展字符串

    2、运算符等(略)

    四、Linq to sql

    1、需要先创建 DataContext 对象连接数据库:

    var content = new DataContext(connection);

    2、调用 GetTable 来获得查询对象

    Table<Student> students = content.GetTable<students>();

    3、执行查询(略)

    4、用 content.SubmitChanges() 把修改保存到数据库中

  • 相关阅读:
    【转】Windows Server 2012无法安装 .NET3.5-安装角色或功能失败,找不到源文件-十有三博客
    jfinal undertow项目集成JDK做成系统服务
    【转】解决undertow多个https证书的web项目部署问题
    说说 C# 9 新特性的实际运用
    php RSA加解密
    mscomm控件使用详解 转
    VB中让listview自动调整列宽
    QueryPerformanceFrequency使用方法--Windows高精度定时计数
    VB6鼠标滚轮插件
    Microsoft Visual C++ 6.0快捷键(绝对值得掌握)
  • 原文地址:https://www.cnblogs.com/felix-wang/p/6724014.html
Copyright © 2011-2022 走看看