博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#之LINQ与XML
阅读量:5895 次
发布时间:2019-06-19

本文共 1529 字,大约阅读时间需要 5 分钟。

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转换为本地可处理的文本。

转载于:https://www.cnblogs.com/GameChina/p/4456055.html

你可能感兴趣的文章
类对象Java设计模式之十八(中介者模式)
查看>>
Qt 写文件失败
查看>>
Gridview控件导出Excel之后图片无法显示
查看>>
FastJson
查看>>
[置顶] 小本求职了---实习岗位
查看>>
Oracle中查看所有表和字段以及表注释.字段注释
查看>>
UVA 10564 - Paths through the Hourglass (dp)
查看>>
Web工程师的工具箱 | 酷壳 - CoolShell.cn
查看>>
ASP.NET Web API自身对CORS的支持: EnableCorsAttribute特性背后的故事
查看>>
Eclipse 常用快捷键
查看>>
INDEX--索引页上存放那些数据
查看>>
INDEX--关于索引的琐碎
查看>>
sql查看所有表大小的方法
查看>>
nexus7 1代 刷4.2.2+root[转]
查看>>
UNIX网络编程读书笔记:TCP输出、UDP输出和SCTP输出
查看>>
扩展 DbUtility (1)
查看>>
iOS开发UI篇—使用picker View控件完成一个简单的选餐应用
查看>>
使用UITableView实现图片视差效果
查看>>
CentOS RHEL 安装 Tomcat 7
查看>>
erlang如何有效地监视大量的并发连接
查看>>