[Linq] Giới thiệu

Đăng bởi : 1/04/2014


thuvienwinform - Linq(Language Integrated Query - Ngôn ngữ tích hợp truy vấn) là thư viện mở rộng cho các ngôn ngữ lập trình C#, VB,...được Microsoft tích hợp vào .NET Framework (từ phiên bản 3.5).
Linq cho phép chúng ta làm việc với các tập dữ liệu như CSDL, XML, HTML,...qua đó người ra ta phân loại Linq như sau:

  • LINQ to Objects: làm việc với dữ liệu trên bộ nhớ (thường là các danh sách kế thừa interface IEnumerable) sử dụng cú pháp ngôn ngữ LINQ.
  • LINQ to XML: làm việc với dữ liệu XML sử dụng cú pháp ngôn ngữ LINQ.
  • LINQ to Entities: làm việc với Entity Framework.
  • LINQ to SQL: Làm việc với SQL Server.
  • LINQ to Datasets: Một kỹ thuật cho phép sử dụng LINQ trong một ứng dụng dựa trên DataSet mà không cần viết lại sử dụng LINQ to SQL.
  • PLINQ: Hỗ trợ sử dụng LINQ trong lập trình song song.




  • Tuy nhiên, trong các bài tiếp theo trong nhãn này mình chỉ nói đến LINQ to SQL!
    Như chúng ta đã biết để thao tác với CSDL cũng có thể dùng ADO.NET. Vậy chúng khác nhau như nào?
    - Đầu tiên Linq cho phép tạo câu truy vấn ngay trong ngôn ngữ lập trình. Với ADO.NET thì chúng ta phải viết câu truy vấn như một string vậy, điều đó rất khó kiểm lỗi (phải chạy thử mới biết được lỗi)
    - Khi thao tác với CSDL (Thêm, sửa, xóa,...) thì Linq đã tự tối ưu cho chúng ta để đảm bảo tốc độ cao nhất. Đơn cử như việc select, trong ADO.NET thì ta sử dụng "select *..." sau đó lọc ra những trường cần dùng, còn Linq thì chỉ select những trường cần chọn mà thôi nên nó sẽ tối ưu hơn. Hay nói cách khác thì Linq đã tối ưu sẵn cho ta rồi!
    - Về yêu cầu thì ADO.NET chỉ cần phiên bản .NET 2.0, còn Linq thì yêu cầu phiên bản 3.5
    Vậy Linq có phải được tạo ra để thay thế ADO.NET? Không phải, bạn có thể làm việc với Linq mà không dính đến CSDL. Linq to Sql là một phần mở rộng của Linq.

    Còn tiếp...


    { 3 comments }

    1. Anonymous4/04/2014

      Máy mình thiếu thư viện linq, //using system.linq : nó báo không có.
      => mình phải cài ntn ?

      ReplyDelete
    2. Bạn phải tạo project với .net 3.5 trở lên nha

      ReplyDelete
    3. Anonymous4/26/2014

      NGoai ra cac cong ty con viet them LINQ to SQL: http://thuvienwinform.blogspot.com/2014/04/linq-to-sqlite-linq-to-mysql-linq-to-oracle.html

      ReplyDelete

    Nhận ngay 100$ cho VPS

    Mua hàng ủng hộ page

    Ủng hộ page

    Nhãn

    Code (45) Team Foundation Server (17) Database (14) News (14) product (13) toolbox (10) Linq (9) SoftDesign (8) XNA (6) API (5) Project (5) item (4)

    - Bản quyền thuộc về Thư Viện WinForm - Giao diện: Metrominimalist - Thiết kế: Johanes Djogan -