zoukankan      html  css  js  c++  java
  • C#之LINQ与XML

    LINQ

    1. LINQ is a bridge over  object-oriented languages and relational database.

    2. 注意查询格式与SQL的不同:

        Customer是一个类,customers是一个list容器,里面的数据是Customer型的。

          IEnumerable<Customer> result =  from customer in customers       where customer.FirstName == "Donna“     select customer;

       from后面是该查询语句的内部变量,where后面接条件,select接内部变量,result是查询结果

       同时需注意result代表的不是当前数据库或数据的查询结果,而是代表这个查询过程,也就是说result后的结果在数据修改前后可能是不同的。

    3. 当需要保存查询结果时,可以用 ToList () or the ToArray() 来保存当前查询的结果

       IEnumerable<Customer> result =  from customer in customers       where customer.FirstName == "Donna“     select customer;

       List<Customer> cachedResult = result.ToList<Customer>();

    4. 对数据集合的操作:join(取交集), grouping(分组), aggregation(合并), and sorting.

        [data source 1] join [data source 2] on [join condition]

        例如: from customer in customers        join address in addresses           on customer.Name equals address.Name   就是对客户名字与家庭地址相同的数据取交集

         var result = from address in addresses

         group address by address.Name;

         注意分组之后的结果相当于一个二维数组

        而对于排序:from customer in Customers        orderby customer.LastName        select customer 默认为升序

        tips:对于select的变量如果未定义其类型,则可以用var交给编译器去推断。

    5. Extension Methods可以简化查询语句,但是有很多限制

        Lambda Expressions in LINQ : IEnumerable<Customer> result = customers.Where( customer =>  customer.FirstName == "Donna“ ) ; 

    XML

    1. eXtensible Markup Language 的格式

    2. 将数据库变为XML文档

    该文档是Customers,里面的元素是Customer,每个Customer都有FirstName, LastName, EmailAdress。

    3. XML的序列化与反序列化

        XmlSerializer serializer = new XmlSerializer(typeof(Customer));

    序列化之后的结果。数据需要序列化以后传输。

    而反序列化是将一个接收到的XML转换为本地可处理的文本。

  • 相关阅读:
    腾讯云Serverless来部署Hexo博客
    通用导入
    Winform窗体圆角完美解决方案
    kali 解决签名失效问题
    CVE-2021-3156 漏洞复现 附带 提权exp
    kali在安装时遇到软件包安装不了的问题解决
    Asmgcs高级地面学习笔记
    继续教育 多开视频加速
    python直接打印列表
    window里GDAL读取中文Personal Geodatabase
  • 原文地址:https://www.cnblogs.com/GameChina/p/4456055.html
Copyright © 2011-2022 走看看