使用LINQ进行数据转换剖析

在向大家详细介绍使用LINQ进行数据转换之前,首先让大家了解下使用LINQ查询,然后全面介绍使用LINQ进行数据转换。

成都创新互联公司是一家集网站建设,迁安企业网站建设,迁安品牌网站建设,网站定制,迁安网站建设报价,网络营销,网络优化,迁安网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

使用LINQ进行数据转换

语言集成查询 (LINQ) 不仅可用于检索数据,而是还是一个功能强大的数据转换工具。通过使用LINQ查询,您可以将源序列用作输入,并采用多种方式修改它以创建新输出序列。您可以通过排序和分组来修改序列本身,而不必修改元素本身。但是,LINQ 查询最强大的功能可能在于它能够创建新类型。这一功能在 select 子句中实现。例如,可以执行下列任务:
◆将多个输入序列合并到具有新类型的单个输出序列中。
◆创建其元素只包含源序列中的各个元素的一个或几个属性的输出序列。
◆创建其元素包含对源数据执行的操作结果的输出序列。
◆创建不同格式的输出序列。例如,您可以将 SQL 行或文本文件的数据转换为 XML。

这只是几个示例。当然,可以采用多种方式将这些转换组合在同一查询中。另外,一个查询的输出序列可用作新查询的输入序列。
将多个输入联接到一个输出序列

可以使用LINQ查询来创建包含多个输入序列的元素的输出序列。下面的示例演示如何组合两个内存中的数据结构,但组合来自 XML 或 SQL 或数据集源的数据时可应用相同的原则。假定下面两种类类型:

 
 
 
  1. class Student  
  2. {  
  3. public string First { get; set; }  
  4. public string Last {get; set;}  
  5. public int ID { get; set; }  
  6. public string Street { get; set; }  
  7. public string City { get; set; }  
  8. public List Scores;  
  9. }  
  10.  
  11. class Teacher  
  12. {  
  13. public string First { get; set; }  
  14. public string Last { get; set; }  
  15. public int ID { get; set; }   
  16. public string City { get; set; }  

下面的示例演示该查询:

 
 
 
  1. class DataTransformations  
  2. {  
  3. static void Main()  
  4. {  
  5. // Create the first data source.  
  6. List students = new List()  
  7. {  
  8. new Student {First="Svetlana",  
  9. Last="Omelchenko",   
  10. ID=111,   
  11. Street="123 Main Street",  
  12. City="Seattle",  
  13. Scores= new List {97, 92, 81, 60}},  
  14. new Student {First="Claire",  
  15. Last="O’Donnell",   
  16. ID=112,  
  17. Street="124 Main Street",  
  18. City="Redmond",  
  19. Scores= new List {75, 84, 91, 39}},  
  20. new Student {First="Sven",  
  21. Last="Mortensen",  
  22. ID=113,  
  23. Street="125 Main Street",  
  24. City="Lake City",  
  25. Scores= new List {88, 94, 65, 91}},  
  26. };  
  27.  
  28. // Create the second data source.  
  29. List teachers = new List()  
  30. {  
  31. new Teacher {First="Ann", Last="Beebe", ID=945, City = "Seattle"},  
  32. new Teacher {First="Alex", Last="Robinson", ID=956, City = "Redmond"},  
  33. new Teacher {First="Michiyo", Last="Sato", ID=972, City = "Tacoma"}  
  34. };  
  35.  
  36. // Create the query.  
  37. var peopleInSeattle = (from student in students  
  38. where student.City == "Seattle"  
  39. select student.Last)  
  40. .Concat(from teacher in teachers  
  41. where teacher.City == "Seattle"  
  42. select teacher.Last);  
  43.  
  44. Console.WriteLine("The following students and teachers live in Seattle:");  
  45. // Execute the query.  
  46. foreach (var person in peopleInSeattle)  
  47. {  
  48. Console.WriteLine(person);  
  49. }  
  50.  
  51. Console.WriteLine("Press any key to exit.");  
  52. Console.ReadKey();  
  53. }  

以上介绍使用LINQ进行数据转换

名称栏目:使用LINQ进行数据转换剖析
分享链接:http://www.shufengxianlan.com/qtweb/news49/249049.html

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

广告

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