LINQtoDataSet详细概括

学习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("");
  22. }

使用扩展之后的例子:

 
 
 
  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("Color") == "Red"
  9. select new
  10. {
  11. Name = product.Field("Name"),
  12. ProductNumber = product.Field("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("");
  21. }

新闻标题:LINQtoDataSet详细概括
文章网址:http://www.hantingmc.com/qtweb/news22/412572.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联