Bước 1: Tạo lớp truy xuất dữ liệu (chưa dùng đến các thủ tục)

Một phần của tài liệu LINQ tiếng việt (Trang 78 - 81)

Bài 7 : Cập nhật dữ liệu dùng Stored Procedure

9. Bước 1: Tạo lớp truy xuất dữ liệu (chưa dùng đến các thủ tục)

Trong phần 2, tơi có nói về cách dùng LINQ to SQL designer có trong VS 2008 để tạo một mơ hình lớp giống như dưới đây:

Thêm các quy tắc kiểm tra dữ liệu vào các lớp mơ hình dữ liệu

Sau khi định nghĩa các lớp trong mơ hình dữ liệu và các quan hệ giữa chúng, chúng ta sẽ tiếp tục thêm vào các quy tắc kiểm tra tính hợp lệ của dữ liệu. Chúng ta có thể làm điều này bằng cách thêm các lớp partial vào trong dự án và thêm các quy tắc kiểm tra vào các lớp mơ hình dữ liệu (tơi đã nói đến vấn đề này khá kỹ trong bài 4).

79

Ví dụ, bạn có thể thêm một quy tắc để đảm bảo rằng số điện thoại của khách hàng được nhập đúng định dạng, và chúng ta không cho phép thêm một đơn hàng (Order) nếu trường OrderDate lớn hơn RequiredDate. Một khi đã được định nghĩa như dưới đây, các phương thức kiểm tra sẽ tự động được thực thi bất kỳ lúc nào chúng ta cập nhật lại các đối tượng trong hệ thống.

VB:

LINQ to SQL Tutorial

80

Thêm phương thức GetCustomer() vào lớp DataContext

Hiện tại chúng ta đã tạo các lớp mô hình dữ liệu, và đã áp dụng các phương thức kiểm tra trên chúng, chúng ta có thể truy vấn và tương tác với dữ liệu. Chúng ta có thể làm được điều này bằng cách viết các câu lệnh LINQ với các lớp mơ hình dữ liệu để truy vấn và cập nhật CSDL (tơi đã có nói về điều này trong bài 3). Thêm nữa tơi cũng có thể ánh xạ các SPROC vào lớp DataContext và dùng chúng để đưa dữ liệu vào CSDL (bài 6).

Khi xây dựng các lớp dữ liệu LINQ to SQL, bạn sẽ thường có nhu cầu đưa các câu lệnh LINQ thường dùng vào các phương thức tiện ích trong lớp DataContext. Bạn có thể làm được điều này bằng cách thêm một lớp partial váo project. Ví dụ, banks có thể thêm một phương thức có tên "GetCustomer()" cho phép chúng ta tìm kiếm và lấy về các đối tượng Customer từ CSDL dựa trên día trị của CustomerID:

81

C#:

Một phần của tài liệu LINQ tiếng việt (Trang 78 - 81)