Your SlideShare is downloading. ×
0
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
LINQ presentation
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

LINQ presentation

1,782

Published on

LINQ presentation by Chi Khang …

LINQ presentation by Chi Khang
HCMC Open University 2009

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

No Downloads
Views
Total Views
1,782
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
114
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Key Message:
  • Key Message:
  • Key Message:
  • Key Message:
  • Key Message:
  • Transcript

    • 1. LINQ
      TrầnChí Khang
      Microsoft Student Partners
      Email: khangtran1990@hotmail.com
    • 2. NỘIDUNG
    • Dữ liệu có thể được lưu trữ ở nhiều nơi
      • Database(SQL Server,Oracle …)
      • 12. XML files
      • 13. File  (Access, Excel …)
      Cách giao tiếp ?
    • 14. KHÁI NIỆM LINQ
      • Là ngôn ngữ truy vấn được tích hợp vào ngôn ngữ lập trình (VB, C#, …).
      • 15. Đưa ra khả năng lập trình mới trong .NET-Giải pháp lập trình hợp nhất
    • from customer in Customers
      where customer.Name == "Foysal"
      select customer
    • 16. LINQ TO OBJECT
      Sử dụng LINQ để truy vấn tập hợp các đối tượng dưới dạng IEnumerable hoặc IEnumerable<T>
      Without LINQ
      With LINQ
      List<Students> MaleStudents = new List<Students>();
      Foreach(Students student in Students)
      {
      if(student.sex == “male”)
      {
      MaleStudents.Add(student );
      }
      }
      IEnumerable <Students> MaleStudents =
      from student in Students
      where student.sex==“male”
      select student;
    • 17. LINQ TO XML
      XmlDocumentdoc = newXmlDocument();
      XmlElementbooks = doc.CreateElement("books");
      XmlElement author = doc.CreateElement("author");
      author.InnerText = "Fabrice Marguerie";
      XmlElement price= doc.CreateElement(“price");
      author2.InnerText = “80”;
      XmlElement publishyear = doc.CreateElement(“publishyear");
      author3.InnerText = “2008";
      XmlElementtitle = doc.CreateElement("title");
      title.InnerText = “ABC";
      XmlElementbook = doc.CreateElement("book");
      book.AppendChild(author1);
      book.AppendChild(author2);
      book.AppendChild(author3);
      book.AppendChild(title);
      books.AppendChild(book);
      doc.AppendChild(books);
      XDocument xmlbooks = newXDocument(
      newXDeclaration("1.0", "UTF-16", "yes"),
      newXElement("books",
      newXElement("book", newXAttribute("id","B01"),
      newXElement("author", "Fabrice Marguerie"),
      newXElement("price", 80),
      newXElement("publishyear", 2008),
      newXElement("title", "ABC"))));
      <?xmlversion="1.0"encoding="utf-8" ?>
      <books>
      <book id = “B01”>
      <title>ABC</title>
      <author>Fabrice Marguerie </author>
      <price>80</price>
      <pulishyear>2008</pulishyear>
      </book>
      </books>
    • 18. LINQ TO XML
      Cung cấp 1 công cụ mạnh mẽ trong việc truy vấnXML
      var books = from b in xmlbooks.Elements("book")
      where(String)b.Element("price") == 80
      selectnew
      {
      title = (String)b.Element("tilte"),
      author = (String)b.Element("author")
      };
      foreach (var book in books)
      {
      Console.WriteLine(book);
      }
    • 19. LINQ TO DATASET
      DATASET ?
      LINQ to DataSet giúp truy vấn đối tượng Dataset dễ dàng và nhanh chóng
      var cus = from c in customersDataset.Tables["Customers"].AsEnumerable()
      select c["CustomerID"];
      foreach (var c in cus)
      {
      Console.WriteLine("{0}", c);
      }
    • 20. LINQ TO SQL
      LINQ to SQL là một phiên bản Object-Relational Mapping (ORM).
      Database
      DataContext
      Table
      Class
      View
      Class
      Column
      Field / Property
      Relationship
      Field / Property
      Stored Procedure
      Method
    • 21. LớpDataContext
      • Là một class kếtnốiđếnCSDL ở SQL Server
      • 22. Chuyển câu truy vấn thành câu lệnh SQL
      • 23. Đảm nhận việc tương tác với CSDL
      • 24. Thay đổi CSDLthông qua phương thức SubmitChanges().
    • LINQTOSQL
      NorthwindDataContext db = newNorthwindDataContext();
      varquery = from c in db.Customers
      wherec.City == "London"
      selectnew { Name = c.ContactName, Country = c.Country, City = c.City };
    • 25. CẤU TRÚC LINQ TO SQL
      from c in db.Customers
      where c.City == "London"
      select new {Name, Phone};
      db.Customers.InsertOnSubmit(c1);
      c2.City = “Seattle";
      db.Customers.DeleteOnSubmit(c3);
      SELECT CompanyName, Phone
      FROM Customers
      WHERE City == 'London'
      INSERT INTO Customers…
      UPDATE Customers…DELETE FROM Customers…
    • 26. Transaction
      Transactionlà một dịch vụ nhằm đảm bảo rằng một tập các thao tác độc lập sẽ được thực thi như một đơn vị duy nhất
      NorthwindDataContext db = newNorthwindDataContext();
      using(TransactionScope ts = newTransactionScope())
      {
      try
      {
      Productprod1 = db.Products.First(p => p.ProductID == 4);
      Productprod2 = db.Products.First(p => p.ProductID == 5);
      prod1.UnitsInStock -= 3;
      prod2.UnitsInStock -= 5;
      db.SubmitChanges();
      ts.Complete();
      }
      catch(Exception e)
      {
      Console.WriteLine(e.Message);
      Console.WriteLine("Error submitting changes,all changes rolled back.");
      }
      }
    • 27. DeferredExecution
      var q = from d in db.Doctors
      whered.City == "London"
      selectd;
      if(orderByLocation)
      {
      q = from d in q
      orderbyd.Country, d.City
      selectd;
      }
      elseif (orderByName)
      {
      q = from d in q
      orderby d.DoctorName
      select d;
      }
      foreach(Doctor d in q) Console.WriteLine(d.DoctorName);
    • 28. ADO.NET
    • 29. TruycậpCSDLvới ADO.NET
      SqlConnection connection = new SqlConnection(…);
      connection.Open();
      SqlCommandcmd = new SqlCommand(
      “Select Name, Phone
      From Customers
      Where City = @city “);
      cmd.Parameters.AddWithValue(“@city”, ”London”);
      Datareaderdr = connection.Execute(cmd);
      While (dr.Read())
      {
      string name = dr.GetString(0);
      string phone = dr.GetString(1);
      DateTime date = dr.GetDateTime(2);
      }
      dr.Close();
      Connection.Close();
      Chuỗi truy vấn
      Xácđịnhkiểu
      dữliệukếtquả
    • 30. ADO.NETENTITYFRAMEWORK
    • 31. EntityDataModel (EDM)
    • 32. LINQvsADO.NET
      LINQ là tập mở rộng cho phép viết các câu truy vấn ngay trong các ngôn ngữ lập trình.
      ADO.NET là công nghệ cho phép các ứng dụng có thể kết nối và làm việc với các loại CSDL khác nhau
      LINQ không phải là một công nghệ được tạo ra để thay thế ADO.NET
    • 33. DEMO
    • 34. Cảm ơn !

    ×