LINQ, là gì và tại sao ?

LINQ, là gì và tại sao ?

LINQ ra đời bởi vì cách viết Entity trước đây tạo ra quá là nhiều code nhưng lại có thể dùng auto coding (xài Code Smith chẳng hạn). Có thể ở background, MS có thuê mấy thèng viết Code Smith làm LINKQ cũng nên ^^.

Tóm lại LINQ ra đời để giảm công sức cho những quá trình đơn giản và “chung chung” trước đây.

Đó là nỗ lực kết xuất truy vấn ra Entity Object. Lập trình viên sẽ không phải care đến việc viết các Entities nữa.

Điểm mạnh (chưa chắc về độ mạnh, nhưng hay) của LINQ là “viết truy vấn cho rất nhiều các đối tượng dữ liệu”. Từ CSDL, XML Data Object … thậm chí là viết truy vấn cho một biến mảng đã tạo ra trước đó. Vì vậy mới có các khái niệm LinQ to SQL, LinQ to XML, blo bla ….

Thích nhất là cái “truy vấn cho một biến mảng” (mình xin không được comments nhiều về biến mảng, vì mình không phải là dân .NET, trong khi hình như là C#, VB.NET có một vài kiểu định nghĩa List, Generics Collection gì gì đó. Trường hợp bạn muốn sắp xếp lại mảng đó, bạn có thể sử dụng LINQ thay vì viết vòng lặp FOR/WHILE như trước.

Tuy nhiên so với mô hình Entity (Entity Framework), LINQ có yếu điểm là chậm và thiếu nhất quán (hiện đại tất phải hại điện).

Vì thế, với các ứng dụng cỡ bự, yêu cầu sự ổn định, khả năng scalable cao, tạm thời không nên sử dụng LINQ, hoặc chỉ sử dụng LINQ cho các thành phần cơ bản, ít liên quan đến Business Logic.

Trong các hệ thống lớn, khi bạn cần thay đổi một công thức nào đó chẳng hạn, bạn nên sử dụng một “công thức ngoài mã nguồn”. (Stored Procedure chẳng hạn). Khi đó bạn sẽ không phải sửa code, re-compile lại hệ thống. Khi sử dụng LINQ, chắc chắn bạn sẽ tốn thời gian cho công việc này (viết lại LINQ query, re-compile, re-deploy… rõ ràng là cực kì phiền phức).

Bạn thấy bài viết này như thế nào?: 
Average: 9 (2 votes)
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Bình luận (0)

 

Add Comment

Filtered HTML

  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Các thẻ HTML được chấp nhận: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Tự động ngắt dòng và đoạn văn.

Plain text

  • No HTML tags allowed.
  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Tự động ngắt dòng và đoạn văn.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Google

Google thay đổi thuật toán tìm kiếm, ảnh hưởng tới hơn một phần ba số trang web

Google mới công bố đã có một nâng cấp nhỏ. Việc thay đổi này chủ yếu là thuật toán xếp hạng giúp đưa các thông tin mới lên trên đầu kết quả tìm kiếm.

Đừng sử dụng INCREMENTAL IDS bên trong code: Drupal 7

Đừng sử dụng INCREMENTAL IDS bên trong code: Drupal 7

If, like me, you believe your site's codebase should work with different environments and different databases, your incremental IDs can be different on each environment, causing your code to break.

Lễ ký kết cùng đồng hành giữa MGID - Haravan - Asia Mar Tech Group

Lễ ký kết cùng đồng hành giữa MGID - Haravan - Asia Mar Tech Group

Ngày 8.9.2019, đã diễn ra lễ ký kết cùng đồng hành giữa MGID - Haravan - Asia Mar Tech Group tại MPLEX Studio & Theatre, 62 Trần Quang Khải, Phường Tân Định, Quận 1, TP.HCM

Công ty diệt chuột T&C

 

Diet con trung