Dammio

Website học tiếng Anh và lập trình, thiết kế Web


1 bình luận

[LINQ] Phần 4: Chuyển đổi dữ liệu với LINQ (C#)

LINQ không chỉ dùng để rút trích hay truy vấn dữ liệu mà còn là công cụ mạnh để chuyển đổi dữ liệu. Bằng cách dùng LINQ, bạn có thể sử dụng 1 tập dữ liệu nguồn làm đầu vào và thay đổi tập này theo nhiều cách để tạo ra các tập dữ liệu mới (đầu ra). Thậm chí là bạn có thay đổi các phần tử của tập dữ liệu nguồn bằng cách sắp xếp hoặc gom nhóm. Tuy nhiên, chức năng mạnh nhất của LINQ vẫn là khả năng tạo ra các dạng tập dữ liệu mới và được thực hiện bằng mệnh đề select. Một số ví dụ mà LINQ có thể thực hiện được trong việc chuyển đổi dữ liệu là:

  • Trộn 2 tập dữ liệu đầu vào thành 1 tập đầu ra với dạng mới
  • Tạo tập dữ liệu đầu ra chỉ chứa 1 hoặc vài thuộc tính của mỗi phần tử trong tập dữ liệu nguồn
  • Tạo tập dữ liệu đầu ra với các phần tử chứa các kết quả thực thi trên tập dữ liệu nguồn
  • Tạo tập dữ liệu đầu ra theo 1 định dạng khác. Ví dụ, chuyển đổi dữ liệu từ các dòng SQL hay các tập tin văn bản thành XML.

Tiếp tục đọc


2 bình luận

[LINQ] Phần 3: Các truy vấn cơ bản trong LINQ

Trong bài viết, chúng ta sẽ tìm hiểu các câu truy vấn cơ bản nhất trong LINQ. Các câu lệnh nâng cao trong LINQ chúng ta sẽ tìm hiểu trong các bài tiếp theo.

Lấy một nguồn dữ liệu
Trong truy vấn LINQ, bước đầu tiên là đặc tả nguồn dữ liệu. Mệnh đề from phải có đầu tiên để mô tả nguồn dữ liệu (customers) và biến phạm vi (cust).

 //queryAllCustomers là 1 biến có kiểu dữ liệu IEnumerable<Customer> - dammio.com
var queryAllCustomers = from cust in customers
                        select cust;

Tiếp tục đọc


2 bình luận

[LINQ] Phần 2: LINQ và các dạng chung (Generic Types) trong C#

Các truy vấn LINQ được dựa trên các dạng chung (generic), được giới thiệu ở phiên bản .NET framework 2.0. Bạn không cần tìm hiểu kỹ về các dạng chung (generics) trước khi bắt đầu viết truy vấn. Tuy nhiên, bạn cần hiểu rõ các khái niệm cơ bản.

Khi tạo 1 thể hiện (instance) cho 1 lớp tập hợp dạng chung như List<T>, bạn thay thế “T” bằng các dạng đối tượng để chứa trong danh sách (List). Ví dụ, một danh sách chuỗi được diễn giải là List<string>, và một danh sách các đối tượng Customer (lớp) được diễn giải là List<Customer>. Một danh sách chung là 1 dạng gắn kết chặt chẽ và cung cấp nhiều lợi ích trên các tập hợp chứa bên trong các phần tử của chúng dưới dạng Object (đối tượng). Nếu chúng ta thêm 1 Customer vào List<string>, điều này sẽ phát sinh lỗi, vì Customer là 1 lớp nên có kiểu dữ liệu không tương đương với string.
Tiếp tục đọc


1 bình luận

[LINQ] Phần 1: Giới thiệu về LINQ

Một truy vấn là một diễn tả để lấy dữ liệu từ 1 nguồn dữ liệu nào đó. Các truy vấn thường được dùng trong các ngôn ngữ truy vấn đặc trưng. Các ngôn ngữ truy vấn khác nhau được phát triển khác nhau để áp dụng cho các nguồn dữ liệu khác nhau, ví dụ SQL dùng cho cơ sở dữ liệu quan hệ và XQuery dùng cho XML. Vì vậy, các nhà phát triển phải học các ngôn ngữ truy vấn cho mỗi dạng nguồn dữ liệu hoặc định dạng dữ liệu. Do đó, Microsoft mới nghĩ ra việc xây dựng 1 ngôn ngữ truy vấn nào đó mà có thể dùng cho tất cả nguồn dữ liệu, tất cả các định dạng dữ liệu khác nhau. Ngôn ngữ truy vấn đó là LINQ.

LINQ (Language Integrated Query, tạm dịch là ngôn ngữ truy vấn tích hợp) đưa ra 1 mô hình bền vững để hoạt động với các dạng nguồn dữ liệu và định dạng dữ liệu khác nhau. Trong LINQ, bạn phải làm quen với chuyện làm việc với các đối tượng (objects). LINQ cho phép dùng các đoạn code đơn giản để truy vấn và chuyển đổi dữ liệu trong các tài liệu XML, cơ sở dữ liệu SQL, tập dữ liệu ADO.NET, các tập hợp .NET, và bất kỳ định dạng nào mà LINQ provider hỗ trợ.
Tiếp tục đọc