WinStore.vn | Linq language intergrated query

443 views

Published on

http://winstore.vn

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
443
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • XDocument(XDeclarationxd,paramobject[]content);Trongđó:XDeclaration(stringversion,string encoding,stringstandalone)version làphiênbảncủatàiliệu“1.0”.encoding làbảngmãlữutrữ“UTF-8”.standalone tồntạimộtmình hay không“Yes”hoặc“No”.Thườngthìkhôngcóthuộctínhnàycũngkhôngxaocả.object[] làdanhsáchcácđốitượngcầnđưavàotàiliệu:XComment(stringcomment )Chứachúthíchchotàiliệu comment = “Chúthíchđây”sẽchokếtquả<!--Chúthíchđây--!>XElement( XName name,paramobject[]content)XNamelàtêncủa Element <name> </name>object[] tươngtựobject[] nói ở trên.
  • usingSystem.Xml.Linq;...XDocumentXDoc = newXDocument((new XDeclaration("1.0", "utf-8”),new XComment("Thông tin sinhviên"),new XElement(“SinhVien",new XAttribute(“MaSV “,1),new XElement(“HoTen", “MSP”), new XElement(“Tuoi", 20),new XElement(“QueQuan", “HungYen”),);XDoc.Save(“SinhVien.xml”);
  • <?xml version="1.0" encoding="utf-8"?><!—Thông tin sinhviên--><SinhViens> <SinhVienMaSV="1"> <HoTen>MSP</HoTen><QueQuan>HungYen</QueQuan> </SinhVien></SinhViens>
  • void Add(XElementcontent);Thêm content nhưlàmột Node con vàođầu Element hiệntại.AddFistvoid AddFist(XElementcontent);Thêm content nhưlàmột Node con vàocuối Element hiệntại.AddAfterSelfvoid AddAfterSelf(XElementcontent);Chènmột element vàosau element hiệntạiAddBeforeSelfvoid AddBeforeSelf(XElementcontent);Chènmột element vàotrước element hiệntại
  • SetValueSetValue(object value);Đặtgiátrịcho element hiệntạigiátrịlà value vìlàkiểu object nênnócũngcóthểlàcảmộtXElement.SetElementValueSetElementValue(XNamename, object value);Đặtgiátrịcho “element” tên name giátrịlà value vìlàkiểu object nênnócũngcóthểlàmộtXElement.SetAttributeValueSetAttributeValue(XNamename, object value);Đặtgiátrị value cho “attribute” của element tên name.ValueVD: XElement XE; XE.Value = “123”;Mộtdạng Properties giúpđặtgiátrịchomột element mộtcáchtrựctiếp.
  • RemoveRemove();Xóa node hiệntạitừ element parentcủanó.RemoveAllRemoveAll();Xóatấtcảcác Attribute và Node con củatàiliệu XML hoặc element hiệntại.RemoveAttributesRemoveAttributes();Xóa “attribute” của element hiệntại .RemoveNodesRmoveNode();Xóa node con của element hoặccủacảtàiliệu XML.
  • WinStore.vn | Linq language intergrated query

    1. 1. LINQ Language Intergrated QueryMSP - Hung Yen University ofTechnology and Education
    2. 2. Nội dung1. Giới thiệu Linq2. Kiến trúc Linq3. Cú pháp Linq4. Linq to Objects5. Linq to SQL6. Linq to DataSet7. Linq to XML
    3. 3. Giới thiệu Linq 1. Giới thiệu Linq 2. Kiến trúc Linq 3. Cú pháp Linq 4. Linq to Objects Giới thiệu Linq 5. Linq to SQL 6. Linq to DataSet 7. Linq to XML
    4. 4. Khi chưa có linqKhi chưa có linq ? SQL Server Access MySQL Oracle DB XML Dataset DataTable Collection
    5. 5. Khi có Linq SQL Server Access MySQL Oracle DB XML int[]nums ={0,1,6,8,4,3}; Dataset DataTable var chans = from i in nums where i%2==0 Collection select i;
    6. 6. ORM - Ánh CSDL quan hệ với đối tượng SQL Server Access MySQL Oracle DB XML Dataset DataTable Collection
    7. 7. Linq là gì? Linq là phương pháp dễ dàng và không thay đổi để triển khai, truy xuất bất kỳ loại cơ sở dữ liệu nào. Linq phải là một kiến trúc độc lập mà dựa trên những kiến trúc truy xuất CSDL đã có. Linq như là một công cụ.
    8. 8. Kiến trúc Linq 1. Giới thiệu Linq 2. Kiến trúc Linq 3. Cú pháp Linq 4. Linq to Objects Kiến trúc Linq 5. Linq to SQL 6. Linq to DataSet 7. Linq to XML
    9. 9. Kiến trúc Linq Compilers (language-level support) Standard Query Expression Trees Operators Linq-enabled data sources Linq to objects Linq-enabled ADO.NET Linq to XML (XLinq) Linq to Linq to Linq to SQL <book> datasets entities (DLinq) <title/> <author/> <year/> <price/> </book> Objects XML Relational
    10. 10. Cú pháp Linq 1. Giới thiệu Linq 2. Kiến trúc Linq 3. Cú pháp Linq 4. Linq to Objects Cú pháp Linq 5. Linq to SQL 6. Linq to DataSet 7. Linq to XML
    11. 11. Cú pháp Linq var les = from i in nums where i%2!=0 select i;
    12. 12. Những tình năng ngôn ngữ mới hỗ trợ LinqLambda expressionsExpression tress (để nối các toán tử với nhau)The keyWord var, anonymous typesExtension methods (Hàm mở rộng)Query expressions (biểu thức truy vấn)
    13. 13. Các toán tử Linq phân theo nhómOperator Type Operator NameAggregation Aggregate, Average, Count, LongCount, Max, Min, SumConversion Cast, OfType, ToArray, ToDictionary, ToList, ToLookup, ToSequenceElement DefaultIfEmpty, ElementAt, ElementAtOrDefault, First, FirstOrDefault, Last, LastOrDefault, Single, SingleOrDefaultEquality EqualAllGeneration Empty, Range, RepeatGrouping Group ByJoining GroupJoin, JoinOrdering OrderBy, ThenBy, OrderByDescending, ThenByDescending, ReversePartitioning Skip, SkipWhile, Take, TakeWhileQuantifiers All, Any, ContainsRestriction WhereSelection Select, SelectManySet Concat, Distinct, Except, Intersect, Union http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx
    14. 14. Linq to Objects 1. Giới thiệu Linq 2. Kiến trúc Linq 3. Cú pháp Linq 4. Linq to Objects Linq to Objects 5. Linq to SQL 6. Linq to DataSet 7. Linq to XML
    15. 15. Linq to ObjectsMục đích Giúp truy vấn .Net Collection (Array, List, Hastable, Map...) Nằm trong Namespace:
    16. 16. Linq to ObjectsVí dụint [] nums = {1,2,5,6,7,4,3}; int [] nums = {1,2,5,6,7,4,3};var les = from iivar les = from in nums in nums where i%2!=0 where i%2!=0 select i; select i;Kết quả: Tập hợp các phần tử lẻ của mảng nums {1,5,7,3}
    17. 17. Linq to Objects Start… demoCreate application and practice …..
    18. 18. Linq to SQL 1. Giới thiệu Linq 2. Kiến trúc Linq 3. Cú pháp Linq 4. Linq to Objects Linq to SQL 5. Linq to SQL 6. Linq to DataSet 7. Linq to XML
    19. 19. Nội dungTổng quan về LINQ to SQLMô hình dữ liệu LINQ to SQLThao tác cơ sở dữ liệu dùng LINQ to SQLLINQ to SQL và mô hình ba lớpTổng kết
    20. 20. Tổng quan về LINQ to SQLLINQ to SQL là gì?LINQ to SQL Là phiên bản hiện thực hóa ORM (Object Relational Mapping) trong .NETLINQ to SQL cho phép mô hình hóa cơ sở dữ liệu dùng các lớp .NET. LINQ to SQL cho phép truy vấn cơ sở dữ liệuLINQ to SQL hỗ trợ đầy đủ store procedure, function, view và transactionLINQ to SQL cho phép kiểm tra tính hợp lệ dữ liệu.
    21. 21. Mô hình dữ liệu LINQ to SQLMô hình hóa cơ sở dữ liệu
    22. 22. Mô hình dữ liệu LINQ to SQLLớp DataContextLưu trữ các lớp .NET biểu diễn các thực thể, quan hệ bên trong CSDL được mô hình hóaNó sẽ được dùng khi cần truy vấn CSDL.Lớp DataContext sẽ có các thuộc tính biểu diễn mỗi bảng được mô hình hóa từ CSDL.Tạo ra các phương thức cho mỗi store procedure mà chúng ta thêm vào.
    23. 23. Mô hình dữ liệu LINQ to SQLTạo lớp mô hình dữ liệu
    24. 24. Mô hình dữ liệu LINQ to SQLLớp mô hình dữ liệu
    25. 25. Thao tác cơ sở dữ liệu dùng LINQ to SQLCấu trúc chung1. Xác định nguồn dữ liệu.2. Tạo các truy vấn3. Thực hiện các truy vấn
    26. 26. Thao tác cơ sở dữ liệu dùng LINQ to SQLCú pháp tạo truy vấnfrom itemName in srcExjoin itemName in srcEx on keyEx equals keyEx (into itemName)?where predExprgroup selExpr by keyExinto itemName query-bodyorderby(keyEx(ascending|descending)?)*select selExpr
    27. 27. Thao tác cơ sở dữ liệu dùng LINQ to SQLThao tác cơ sở dữ liệufrom c in db. tblKHOAs db.tblKHOAs.InsertOnSubmit(c1);where c.Makhoa == “101" c2.TenKhoa = “Công nghệ thông tin“;select c.TenKhoa; db.tblKHOAs..DeleteOnSubmit(c3); LINQ Query SubmitChanges() SQL Query DML or Stored ProceduresSELECT Tenkhoa INSERT INTO tblKHOAs.…FROM tblKHOAs UPDATE tblKHOAs.…WHERE MaKhoa = „101 DELETE FROM tblKHOAs.…
    28. 28. Thao tác cơ sở dữ liệu dùng LINQ to SQLTruy vấn cơ sở dữ liệuLINQ to SQL var query1 = from c in db.tblKHOAs where c.Makhoa== “101" select c; var query2 = db.tblKHOAs.Where(c => c.Makhoa == “101”);SQL SELECT * FROM tblKHOAs WHERE Makhoa = „101
    29. 29. Thao tác cơ sở dữ liệu dùng LINQ to SQLThêm bản ghi vào CSDLLINQ to SQL tblKHOA c1 = new tblKHOA(); c1.Makhoa = “105”; c1.Tenkhoa= “Ngoại ngữ”; db. tblKHOAs.InsertOnSubmit(c1); db.SubmitChanges();SQL INSERT INTO tblKHOAs(Makhoa, Tenkhoa) VALUES(„105‟, „Ngoại ngữ‟)
    30. 30. Thao tác cơ sở dữ liệu dùng LINQ to SQLCập nhật bản ghiLINQ to SQL tblKHOA khoa = db.tblKHOAs.Single(c => c.Makhoa == “103”); khoa.Tenkhoa = “Công nghệ may và thời trang”; var listKhoa = db. tblKHOAs; foreach (var k in listKhoa ) k.Tenkhoa = “Khoa công nghệ thông tin”; db.SubmitChanges();SQLUPDATE tblKHOAs SET Tenkhoa = „Khoa công nghệ thông tin„WHERE Makhoa= „103
    31. 31. Thao tác cơ sở dữ liệu dùng LINQ to SQLXóa bản ghiLINQ to SQLtblKHOAs kh = db. tblKHOAs.Single(k => k.Makhoa == “105");db.tblKHOAs.DeleteOnSubmit(kh);var kh = db.tblKHOAsdb.tblKHOAs.DeleteAllOnSubmit(kh);db.SubmitChanges();SQLDELETE tblKHOAs WHERE Makhoa== „105‟
    32. 32. Thao tác cơ sở dữ liệu dùng LINQ to SQLTruy vấn nâng caoLINQ to SQLvar data = from l in db.tblLOPs join k in db.tblKHOAs on l.Makhoa equals k.Makhoa where l.Makhoa==“103” select new {l.Tenlop,k.Tenkhoa };SQLSELECT Tenlop, TenkhoaFROM tblKhoas k INNER JOIN tblLops l ON k.Makhoa = l.MakhoaWhere l.Makhoa=‘103’
    33. 33. Thao tác cơ sở dữ liệu dùng LINQ to SQLMột số phương thức hay sử dụng Select / SelectMany Where Sum / Min / Max / Average / Aggregate Join / GroupJoin GroupBy Take / TakeWhile - Skip / SkipWhile OrderBy / ThenBy First / FirstOrDefault /Last /LastOrDefault/Single…
    34. 34. LINQ to SQL và mô hình ba lớp
    35. 35. Linq to DataSet 1. Giới thiệu Linq 2. Kiến trúc Linq 3. Cú pháp Linq 4. Linq to Objects Linq to DataSet 5. Linq to SQL 6. Linq to DataSet 7. Linq to XML
    36. 36. Linq to DataSetMục đích Giúp truy vấn dữ liệu trong DataSet, DataTable Nằm trong Namespace:
    37. 37. Linq to DataSetMục đích Thực hiện lấy dữ liệu từ CSDL nên DataSet hoặc DataTable. Thực hiện truy vấn Linq theo từng mục đích.
    38. 38. Linq to DataSet Start … demoCreate application and practice …..
    39. 39. Linq to XML 1. Giới thiệu Linq 2. Kiến trúc Linq 3. Cú pháp Linq 4. Linq to Objects Linq to XML 5. Linq to SQL 6. Linq to DataSet 7. Linq to XML
    40. 40. LINQ to XML<?XML?> Cung cấp một giao diện lập trình XML. Sử dụng những ngôn ngữ lập trình mới nhất của .NET Language Framework và được nâng cấp, thiết kế lại với giao diện XML DOM. Có cấu trúc truy vấn tương tự SQL. Khả năng sử dụng kết quả truy vấn là tham số cho đối tượng XElement và XAttribute cho phép một phương pháp mạnh mẽ để tạo ra cây XML.
    41. 41. LINQ to XMLLợi ích Load XML từ nhiều file hoặc luồng. Xuất XML ra file hoặc luồng. Truy vấn cây XML bằng những truy vấn LINQ. Thao tác cây XML trong bộ nhớ máy. Biến đổi cây XML từ dạng này sang dạng khác.
    42. 42. LINQ to XMLLINQ to XML classes Add to reference System.Xml.Linq Classes  XDocument  XElement  XAttribute  XNamespace
    43. 43. LINQ to XMLTạo một file XML Sử dụng hàm khởi tạo XDocument(); XDococument(XDeclaration xd, param object[] content); Trong đó: - XDeclaration(string version,string encoding,string standalone) - Object[] là danh sách các đội tượng cần đưa vào tài liệu XML. + Xcomment(string comment) + Xelement(Xname name, param object[] content) Dùng hàm Save(string url) để lưu xuống file url.
    44. 44. LINQ to XMLVí dụ tạo file XMLusing System.Xml.Linq;...XDocument XDoc = new XDocument(( new XDeclaration("1.0", "utf-8”), new XComment("Thông tin sinh viên "), new XElement(“SinhVien", new XAttribute(“MaSV “,1), new XElement(“HoTen", “MSP”), new XElement(“QueQuan", “HungYen”),);XDoc. Save(“SinhVien.xml”);
    45. 45. LINQ to XMLKết quả<?xml version="1.0" encoding="utf-8"?><!--Thông tin sinh viên--><SinhViens> <SinhVien MaSV="1"> <HoTen>MSP</HoTen> <QueQuan>HungYen</QueQuan> </SinhVien></SinhViens>
    46. 46. LINQ to XMLThêm một Element Void Add(XElement content) Thêm content như là một Node con vào đầu element hiện tại. Void AddFirst(XElement content) Thêm content như là một Node con vào cuối element hiện tại. Void AddAfterSelf(XElement content) Chèn một element vào sau element hiện tại. VoidBeforeSelf(XElement content) Chèn một element vào trước element hiện tại.
    47. 47. LINQ to XMLSửa một Element Value Gán giá trị cho một element trực tiếp. Vd: Element XE; XE.Value=“123”; SetValue(object value) Đặt giá trị cho element hiện tại giá trị là “value”. SetElementValue(XName name, object value) Đặt giá trị cho element tên “name” giá trị là “value”. SetAttributeValue(XName name, object value) Đặt giá trị “value” cho attribute của element tên “name”.
    48. 48. LINQ to XMLXóa một Element Remove() Xóa node hiện tại từ element parent của nó. RemoveAll() Xóa tất cả các Attribute và node con của tài liệu XML hoặc element hiện tại. RemoveAttributes() Xóa attribute của element hiện tại. RemoveNode() Xóa node con của element hoặc của cả tài liệu XML.
    49. 49. Giới thiệu dùng LinqPad
    50. 50. Tổng kết1. Giới thiệu Linq2. Kiến trúc Linq3. Cú pháp Linq4. Linq to Objects5. Linq to SQL6. Linq to DataSet7. Linq to XML
    51. 51. Link Demohttp://www.mediafire.com/?cd2jbb270cw83gq

    ×