Tìm hiểu về LINQ [đã đóng]


189

Tổng quat

Một trong những điều tôi đã hỏi rất nhiều về trang web này là LINQ . Các câu hỏi tôi đã hỏi rất rộng và đa dạng và thường không có nhiều bối cảnh đằng sau chúng. Vì vậy, trong nỗ lực củng cố kiến ​​thức tôi có được trên Linq, tôi đăng câu hỏi này nhằm duy trì và cập nhật nó với thông tin bổ sung khi tôi tiếp tục tìm hiểu về LINQ.

Tôi cũng hy vọng rằng nó sẽ chứng tỏ là một tài nguyên hữu ích cho những người khác muốn tìm hiểu về LINQ.

LINQ là gì?

Từ MSDN :

Dự án LINQ là tên mã cho một tập hợp các phần mở rộng cho .NET Framework bao gồm các hoạt động truy vấn, đặt và chuyển đổi tích hợp ngôn ngữ. Nó mở rộng C # và Visual Basic với cú pháp ngôn ngữ bản địa cho các truy vấn và cung cấp các thư viện lớp để tận dụng các khả năng này.

Điều này có nghĩa là LINQ cung cấp một cách tiêu chuẩn để truy vấn nhiều nguồn dữ liệu bằng một cú pháp chung.

Hương vị của LINQ là gì?

Hiện tại có một vài nhà cung cấp LINQ khác nhau được cung cấp bởi Microsoft:

Có khá nhiều người khác, nhiều trong số đó được liệt kê ở đây .

Những lợi ích là gì?

  • Cách chuẩn hóa để truy vấn nhiều nguồn dữ liệu
  • Biên dịch an toàn thời gian của các truy vấn
  • Cách tối ưu hóa để thực hiện các thao tác dựa trên thiết lập trong các đối tượng bộ nhớ
  • Khả năng gỡ lỗi truy vấn

Vậy tôi có thể làm gì với LINQ?

Chook cung cấp một cách để xuất các tệp CSV
Jeff cho thấy cách loại bỏ các bản sao khỏi một mảng
Bob nhận được một danh sách được sắp xếp riêng biệt từ một
Marxidad có thể truy cập được cho thấy cách sắp xếp một mảng
Dana được trợ giúp thực hiện Sắp xếp nhanh bằng cách sử dụng Linq

Bắt đầu từ đâu?

Dưới đây là tóm tắt các liên kết từ câu hỏi của GateKill :
Scott Guthrie cung cấp phần giới thiệu cho Linq trên blog của mình
Tổng quan về LINQ trên MSDN

ChrisAnnODell đề nghị kiểm tra:

Tôi cần gì để sử dụng LINQ?

Linq hiện có sẵn trong VB.Net 9.0 và C # 3.0, vì vậy bạn sẽ cần Visual Studio 2008 trở lên để có được lợi ích đầy đủ. (Bạn luôn có thể viết mã của mình vào notepad và biên dịch bằng MSBuild)

Ngoài ra còn có một công cụ gọi là LinqBridge cho phép bạn chạy Linq như các truy vấn trong C # 2.0.

Mẹo và thủ thuật sử dụng LINQ

Câu hỏi này có một số cách khó để sử dụng LINQ


+1 cho một bài đăng tuyệt vời và tham chiếu đến blog của ScottGu. Đó là một nguồn tài nguyên tuyệt vời và ban đầu tôi học LINQ.
Evan Plaice

Hooked On LINQ đi đến một số trang web Nhật Bản. Google dịch nói về sự căng thẳng và những thứ mông khác đó là nsfw. : SI không thể chỉnh sửa nó vì một số lý do.
Shane

Câu trả lời:



6

Đề cập LINQ đến các thực thể kể từ ADO.NET Entity Framework sẽ là một mô-đun .NET quan trọng.


4

Nhận cuốn sách Linq in Action, đây là một cuốn sách dễ đọc cho một cuốn sách mã hóa và thực sự dạy cho bạn cách sử dụng Linq và các tính năng mới của .NET 3.5 một số phần hay mà họ đưa vào cho ngôn ngữ.


4

Một vài lời khuyên của LINQ:

  • Áp dụng các bộ lọc trước khi tham gia để cải thiện hiệu năng truy vấn
  • Lọc các truy vấn LINQ bằng cách sử dụng so sánh tham chiếu đối tượng
  • Áp dụng tổng hợp cho các bộ sưu tập trống trong LINQ cho các truy vấn SQL
  • Trì hoãn tải một thuộc tính trong LINQ sang SQL
  • Sử dụng các hàm có giá trị bảng với bật tải háo hức
  • Đặt các phép nối theo đúng thứ tự trong truy vấn LINQ to Object
  • Soạn một truy vấn LINQ bên trong một vòng lặp

http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp


4

IMHO, một lợi ích bị bỏ qua, nhưng quan trọng, là hiệu quả mã hóa của LINQ, ví dụ có thể thực hiện được bao nhiêu với rất ít mã. Cá nhân tôi thấy cú pháp truy vấn dễ đọc và dễ hiểu.



3

Tôi nghĩ rằng, câu trả lời cho "Hương vị của LINQ là gì?" là không đầy đủ. Trước hết, bạn có thể tạo ra "hương vị" của riêng bạn. Vâng, đây là một nhiệm vụ nâng cao, nhưng hiện tại có rất nhiều triển khai LINQ khác nhau.

Dưới đây là danh sách các nhà cung cấp LINQ hiện có (cộng thêm một số tài nguyên về học LINQ) trên blog của Charlie Calvert: Liên kết đến LINQ .

Và cũng có một loạt bài viết tuyệt vời của Matt Warren về cách tạo Nhà cung cấp LINQ của riêng bạn: LINQ: Xây dựng chuỗi nhà cung cấp IQueryable


2

2 xu của tôi, Đọc các chương "11 Biểu thức truy vấn và LINQ đến các đối tượng" và "12 LINQ ngoài các bộ sưu tập" trong cuốn sách "C # in Depth" để hiểu cách thức hoạt động của LINQ.


0

Đối với thực hành Linq

Nếu bạn muốn thực hành về LINQ với các bài tập và câu trả lời, thực sự dễ dàng để thiết lập và, theo tôi, thật tuyệt vời:

https://github.com/walkhard/linq-exercise

Tải xuống từ git, mở trong Visual Studio. Công việc của bạn là làm cho các bài kiểm tra vượt qua.

[tiết lộ: tôi đã học được một số linq từ nó và tôi đóng góp cho dự án nên vâng tôi nghĩ đó là một cách tuyệt vời, nhanh chóng và hiệu quả để học hỏi.]

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.