Sunday 2 December 2018

LinQ là gì?

1.Giới thiệu về Linq

Xử lý thông tin hay dữ liệu là nhiệm vụ quan trọng nhất của bất kỳ phần mềm nào và một trong những trở ngịa chính mà các nhà phát triển hiện nay phải đối mặt là khác biệt giưa ngôn ngữ lập trinh hướng đối tượng và ngôn ngữ truy vấn dữ liệu, vấn đề càng phức tạp hơn với sự xuất hiện của XML (Extensible Markup Language - ngôn ngữ đánh dấu mở rộng)

2.LinQ là gì?

LinQ là một cách để truy vấn một tập hợp các dữ liệu bằng cách sử dụng các phuơng thức mở rộng (extension methods). những extension methods chỉ có thể truy cập bằng cách thêm using System.Linq 

3.Áp dụng với linq

Với Linq các bạn có thể viết trực tiếp tại controller luôn, nó sẽ giúp cho ta về sự minh bạch trong code.
Việc sử dụng LinQ sẽ dễ dàng hơn với những bạn đã từng học SQL. LinQ có 2 cách sử dụng là Query Syntaxvà Method Syntax. Sau đây mình sẽ hướng dẫn sử dụng LinQ với một số ví dụ đơn giản:


Đoạn code được bôi đen kia cho thấy chúng ta đang truy vấn đến bản Products và sắp xếp Name theo thứ tự tăng dần theo ascII.
Đó chỉ là một câu truy vấn rất đơn giản, để có thể làm việc với linq các bạn nên xem, và học về sql bởi vì câu lệnh sql cũng tương tự Linq mà thôi. Nên ở đây tôi chỉ có ví dụ đơn giản như vậy để cho các bạn hình dung được linq là như thế nào.

Các bạn có thể tham khảo code ở GIT của mình --

4.Tổng hợp LinQ

Hiện tại, LinQ hỗ trợ các công nghệ sau:


5.Phân tích LinQ

LINQ là thư viện cho phép truy vấn trên nhiều kiểu dữ liệu khác nhau: Object collections, XML, LINQ to SQL (truy vấn cơ sở dữ liệu MS-SQL), LINQ to Dataset, LINQ to Entity (ADO.net Entity Framework), LINQ to SharePoint, LINQ to XML, LINQ to nHIbernate, LINQ to XYZ, LINQ to Azure SQL Service….
Dù là một công cụ khá hay trên nền tảng .NET, LINQ to SQL vẫn có hạn chế như:
  • Chỉ thao tác duy nhất với hệ quản trị cơ sở dữ liệu SQL Server.
  • Chỉ có thể tự động tạo Data Model từ Database chứ không thể tạo Database từ Data Model.
  • Chỉ cho phép ánh xạ 1:1 giữa các Table trong Database với các lớp Data Model (tức là không thể tạo 1 Data Model là kết quả kết hợp từ 2 bảng dữ liệu trở lên).

6.Đánh giá về LinQ

Theo mình nói chung và các Developer trên toàn thế giới nói riêng thì LinQ là 1 công nghệ rất mạnh trong .NET Framework, nhờ LINQ thì việc truy vấn dữ liệu từ bất cứ nguồn dữ liệu nào đều dễ dàng và thống nhất 1 cú pháp chung.





No comments:

Post a Comment