LINQ to DataSet详细概括

开发 后端
这里介绍LINQ to DataSet 也可用于查询从一个或多个数据源合并的数据。这可以使许多需要灵活表示和处理数据的方案能够实现。

学习LINQ时,经常会遇到LINQ to DataSet问题,这里将介绍LINQ to DataSet问题的解决方法。

使用 LINQ to DataSet 可以更快更容易地查询在 DataSet 对象中缓存的数据。具体而言,通过使开发人员能够使用编程语言本身而不是通过使用单独的查询语言来编写查询,LINQ to DataSet 可以简化查询。对于现在可以在其查询中利用 Visual Studio 所提供的编译时语法检查、静态类型和 IntelliSense 支持的 Visual Studio 开发人员,这特别有用。

LINQ to DataSet 也可用于查询从一个或多个数据源合并的数据。这可以使许多需要灵活表示和处理数据的方案(例如查询本地聚合的数据和 Web 应用程序中的中间层缓存)能够实现。具体地说,一般报告、分析和业务智能应用程序将需要这种操作方法。

LINQ to DataSet 功能主要通过 DataRowExtensions 和 DataTableExtensions 类中的扩展方法公开。LINQ to DataSet 基于并使用现有的 ADO.NET 2.0 体系结构生成,在应用程序代码中不能替换 ADO.NET 2.0。现有的 ADO.NET 2.0 代码将继续在 LINQ to DataSet 应用程序中有效。

下面看一个例子:

  1. // Fill the DataSet.  
  2. DataSet ds = new DataSet();  
  3. ds.Locale = CultureInfo.InvariantCulture  
  4. FillDataSet(ds);   
  5. DataTable products = ds.Tables["Product"];   
  6. var query =  
  7. from product in products.AsEnumerable()  
  8. where !product.IsNull("Color") &&  
  9. (string)product["Color"] == "Red"  
  10. select new  
  11. {  
  12. Name = product["Name"],  
  13. ProductNumber = product["ProductNumber"],  
  14. ListPrice = product["ListPrice"]  
  15. };   
  16. foreach (var product in query)  
  17. {  
  18. Console.WriteLine("Name: {0}", product.Name);  
  19. Console.WriteLine("Product number: {0}", product.ProductNumber);  
  20. Console.WriteLine("List price: ${0}", product.ListPrice);  
  21. Console.WriteLine("");  

使用扩展之后的例子:

  1. // Fill the DataSet.  
  2. DataSet ds = new DataSet();  
  3. ds.Locale = CultureInfo.InvariantCulture;  
  4. FillDataSet(ds);  
  5. DataTable products = ds.Tables["Product"];  
  6. var query =  
  7. from product in products.AsEnumerable()  
  8. where product.Field<string>("Color") == "Red"  
  9. select new  
  10. {  
  11. Name = product.Field<string>("Name"),  
  12. ProductNumber = product.Field<string>("ProductNumber"),  
  13. ListPrice = product.Field("ListPrice")  
  14. };  
  15. foreach (var product in query)  
  16. {  
  17. Console.WriteLine("Name: {0}", product.Name);  
  18. Console.WriteLine("Product number: {0}", product.ProductNumber);  
  19. Console.WriteLine("List price: ${0}", product.ListPrice);  
  20. Console.WriteLine("");  

【编辑推荐】

  1. LINQ to SQL查询分析
  2. LINQ查询架构简单介绍
  3. LINQ to SQL映射关系概述
  4. LINQ To SQL对象模型浅析
  5. LINQ to SQL映射列描述
责任编辑:佚名 来源: IT168
相关推荐

2009-09-16 10:27:35

LINQ Custom

2009-09-16 10:08:06

LINQ查询

2009-09-16 16:52:50

LINQ to XML

2009-09-16 17:33:16

LINQ TO SQL

2009-09-15 17:07:24

Linq To SQL

2009-09-08 17:27:18

LINQ to Dat

2009-09-08 17:57:54

LINQ to Dat

2009-09-09 15:10:35

LINQ查询句法

2009-09-16 16:55:07

LINQ to XML

2009-09-15 16:09:12

LINQ进行查询

2009-09-14 16:51:33

LINQ XML树加载

2009-09-18 15:15:12

LINQ to SQL

2009-08-13 11:39:02

LINQ to Dat

2009-09-15 15:18:00

Linq Lambda

2009-09-14 15:37:06

LINQ映射数据库

2009-09-18 14:07:51

LINQ to SQL

2009-09-15 17:30:00

Linq Lambda

2009-09-18 09:25:06

LINQ Framew

2009-09-14 15:15:45

LINQ技术

2009-09-14 14:20:36

LINQ ORM
点赞
收藏

51CTO技术栈公众号