Tôi tò mò muốn biết tại sao một người Cơ sở dữ liệu nên tìm hiểu LINQ. Làm thế nào nó có thể hữu ích.Tại sao nhà phát triển Cơ sở dữ liệu sử dụng LINQ
Trả lời
LINQ có một lợi thế lớn so với hầu hết các phương pháp truy cập dữ liệu khác: nó xoay quanh 'truy vấn biểu hiện 'ẩn dụ, có nghĩa là các truy vấn có thể được truyền xung quanh như đối tượng và được thay đổi và sửa đổi, tất cả trước chúng được thực hiện (lặp lại). Trong thực tế điều đó có nghĩa là mã có thể được mô-đun và cô lập tốt hơn. Kho lưu trữ truy cập dữ liệu sẽ trả về truy vấn 'đơn đặt hàng', sau đó một bộ lọc trung gian trong đường dẫn xử lý yêu cầu sẽ trang trí truy vấn này bằng bộ lọc, sau đó nó được chuyển sang mô-đun hiển thị cho biết thêm phân loại và phân trang, v.v. được lặp lại của nó, biểu thức đã hoàn toàn chuyển thành rất cụ thể SELECT ... WHERE ... ORDER BY ... LIMIT ...
(hoặc phân trang cụ thể ở mặt sau khác như ROW_NUMBER). Đối với các nhà phát triển ứng dụng, điều này là vô giá và đơn giản là không có bất kỳ sự thay thế khả thi nào. Đây là lý do tại sao tôi tin rằng LINQ là ở đây để ở lại và sẽ không biến mất trong 2 năm. Nó chắc chắn không chỉ là một mốt nhất thời. Và tôi đặc biệt đề cập đến LINQ như là phương pháp truy cập cơ sở dữ liệu.
Lợi thế của việc điều khiển các đối tượng biểu thức truy vấn một mình là đủ yếu tố để làm cho LINQ trở thành một giá thầu chiến thắng. Thêm vào đó nhiều kiểu container mà nó có thể thao tác (XML, mảng và các bộ sưu tập, các đối tượng, SQL) và giao diện thống nhất nó hiển thị trên tất cả các công nghệ khác nhau này, xem xét các thay đổi xử lý song song trong .Net 4.0 mà tôi chắc chắn sẽ tích hợp trong suốt vào LINQ xử lý mảng và bộ sưu tập, và thực sự không có cách nào LINQ sẽ biến mất. Chắc chắn, ngày nay đôi khi nó tạo ra câu lệnh SQL không thể đọc được, kém hiệu quả và không thể chuyển nhượng, và là tất cả cơn ác mộng DBA chuyên dụng. Nó sẽ trở nên tốt hơn.
LINQ cung cấp quyền truy cập "hạng nhất" vào dữ liệu của bạn. Có nghĩa là các truy vấn của bạn bây giờ là một phần của ngôn ngữ lập trình.
LINQ cung cấp cách thông thường để truy cập các đối tượng dữ liệu thuộc mọi loại. Ví dụ, cú pháp tương tự được sử dụng để truy cập các truy vấn cơ sở dữ liệu của bạn cũng có thể được sử dụng để truy cập danh sách, mảng và tệp XML.
Học LINQ sẽ cung cấp cho bạn sự hiểu biết sâu hơn về ngôn ngữ lập trình. LINQ là trình điều khiển cho tất cả các loại cải tiến ngôn ngữ, chẳng hạn như các phương pháp mở rộng, các kiểu ẩn danh, biểu thức lambda, cây biểu thức, suy luận kiểu và khởi tạo đối tượng.
Tôi thích lý do thứ 2 tốt nhất. – JohnB
Đây có phải là câu hỏi thực sự không? Không thể trả lời bằng đoạn mã. Hầu hết các câu hỏi loại thảo luận này đều đóng cửa nhanh chóng.
... có lẽ tốt nhất được thể hiện dưới dạng nhận xét. –
@ Robert Harvey, có lẽ tốt nhất là một bình luận, nhưng nội dung là đúng –
Tôi nghĩ một câu hỏi hay hơn là tại sao một người thay thế SQL bằng LINQ khi truy vấn cơ sở dữ liệu?
intellisense loại an toàn trong Visual Studio, thay vì chuyển các khối văn bản lớn của bạn (truy vấn SQL) mà không kiểm tra kiểu và không an toàn (thổi) chỉ trong thời gian chạy trong sản xuất .....) –
@mark_s: mặc dù có nhiều cách khác để thực hiện việc này. Ví dụ, tập dữ liệu được nhập mạnh. –
LINQ là phương pháp ưa thích để truy cập dữ liệu của bạn thông qua một ORM chẳng hạn như LINQ to SQL hoặc Entity Framework. –
"Biết kẻ thù của bạn"?
OTOH, không quan tâm. Tôi đang tìm hiểu thêm về XMl, XSLT, XSDs vv vì tôi có thể thấy việc sử dụng chúng như một nhà phát triển cơ sở dữ liệu.
Tôi nghĩ rằng một trong những lý do tại sao người ta có thể xem xét LINQ nó vì LINQ là lớn tăng năng suất và thời gian khổng lồ saver
Câu hỏi này cũng nhắc tôi hỏi, nếu LINQ trở nên vô cùng phổ biến, các nhà phát triển phía máy chủ có biết SQL cũng như người tiền nhiệm của họ đã làm không?
Làm thế nào để bạn biết lắp ráp? –
- 1. Di chuyển cơ sở dữ liệu MySQL phát triển sang cơ sở dữ liệu sản xuất
- 2. Tách biệt cơ sở dữ liệu thử nghiệm của ứng dụng Sinatra từ cơ sở dữ liệu phát triển?
- 3. Tại sao nhà phát triển sử dụng Silverlight?
- 4. cơ sở dữ liệu: tại sao cặp
- 5. Dịch vụ cơ sở dữ liệu đám mây miễn phí để phát triển nhà
- 6. Công cụ dành cho nhà phát triển để truy cập trực tiếp cơ sở dữ liệu
- 7. Đồng bộ hóa các lược đồ cơ sở dữ liệu giữa các nhà phát triển
- 8. Các nhà phát triển có quyền nào trong cá thể cơ sở dữ liệu Dev
- 9. Phát triển nhanh và thay đổi cơ sở dữ liệu
- 10. Cơ sở dữ liệu sản xuất và phát triển?
- 11. Cơ sở dữ liệu DB2 trong nhà phát triển Oracle SQL
- 12. Làm thế nào để sao chép cơ sở dữ liệu trong sử dụng cơ sở dữ liệu khác trong django?
- 13. LINQ trên nhiều cơ sở dữ liệu
- 14. Khi nào/tại sao tôi nên bắt đầu sử dụng cơ sở dữ liệu?
- 15. Khi nào nên sử dụng phát triển theo hướng miền và phát triển theo hướng cơ sở dữ liệu?
- 16. Mẫu nhà máy cơ sở dữ liệu với nhiều cơ sở dữ liệu
- 17. Cách sử dụng nhiều cơ sở dữ liệu trong ứng dụng Rails Sử dụng cơ sở dữ liệu
- 18. Chiến lược triển khai cơ sở dữ liệu (SQL Server)
- 19. Tôi nên sử dụng cơ sở dữ liệu nào để sử dụng cho dự án nhà?
- 20. môi trường phát triển laravel cơ sở dữ liệu sqlite không tồn tại
- 21. Tại sao luôn đóng kết nối Cơ sở dữ liệu?
- 22. từ cơ sở dữ liệu sử dụng?
- 23. triển khai cơ sở dữ liệu python
- 24. Max in LINQ to NHibernate không tồn tại dữ liệu trong cơ sở dữ liệu
- 25. Tại sao tôi không thể cập nhật dữ liệu vào cơ sở dữ liệu bằng LINQ to SQL?
- 26. Tại sao tôi nhận được "tham chiếu chéo cơ sở dữ liệu không được triển khai"?
- 27. Tại sao các nhà phát triển PHP rẻ hơn các nhà phát triển .NET?
- 28. Tại sao tôi muốn sử dụng cơ sở dữ liệu phi quan hệ?
- 29. Sao lưu cơ sở dữ liệu MySQL
- 30. Tại sao nên sử dụng MonoTouch để phát triển iPhone?
Bạn có hỏi liệu một DBA có nên học LINQ không? Hoặc là người cơ sở dữ liệu này cũng là một nhà phát triển? – Kinze