tailieunhanh - LINQ to SQL Tutorial_3

Bước cuối cùng là cấu hình lại để lớp truy cập dữ liệu dùng thủ tục SPROC khi chèn các đối tượng Order mới vào trong CSDL. Chúng ta có thể là điều này bằng cách chọn lớp Order trong cửa sooe LINQ to SQL designer, và sau đó chuyển đến bảng thuộc tính và nhấn nút 3 chấm (.) ở mục Insert để chọn thao tác tương ứng | LINQ to SQL Tutorial Hãy xem ví dụ sau tôi sẽ đặt giá trị cho 2 thuộc tính OrderDate và RequiredDate NorthwindDataContext northwind new NorthwindDataContexto7 Order myOrder new OrderO -1 northwi myOrder northwi tchangeso Add đã được thay đổi bằng InsertOnSubmit trong phiên bản hiện tại Đoạn lệnh trên là hợp lệ nếu chỉ đơn thuần xét từ góc độ ngôn ngữ - nhưng sẽ là không có ý nghĩa khi bạn lại muốn đặt ngày khách hàng yêu cầu trước ngày đặt hàng. Tin vui là từ bản LINQ to SQL beta 2 chúng ta có thể thêm vào các quy tắc kiểm tra cho từng thực thể để tránh các lỗi kiểu như trên bằng cách thêm một lớp partial cho lớp Order và hiện thực hóa hàm OnValidate hàm này sẽ được gọi trước khi dữ liệu được đưa vào CSDL. Bên trong phương thức này chúng ta có thể truy cập và kiểm tra tất cả các thuộc tính của lớp trong mô hình dữ liệu. dỆ Order OnValidateO 1 using System partial void OnValidateO 5 6 7 8 9 10 11 1 L if RequiredDate OrderDate throw new Except onC Deliver date is before Orde Bên trong phương thức này bạn có thể kiểm tra giá trị bất kỳ thuộc tính nào và thậm chí có thể truy cập chỉ đọc vào các đối tượng liên quan và có thể phát ra một exception nếu có tồn tại các giá trị không hợp lệ. Bất kỳ một exception nào được phát ra từ phương thức OnValidate sẽ làm cho việc cập nhật bị hủy bỏ và hủy bỏ các thay đổi trong transaction. 9. Tùy biến các phương thức kiểm tra việc thêm xóa sửa dữ liệu Có nhiều lúc bạn muốn thêm các phép kiểm tra khi thêm xóa sửa dữ liệu. LINQ to SQL Beta2 cho phép làm điều này bằng cách cho phép bạn thêm vào một lớp partial để mở rộng lớp DataContext và sau đó hiện thực hóa các phương thức để tùy biến các thao tác thêm xóa sửa cho các thực thể. Các thức này sẽ được thực thi tự động khi bạn gọi SubmitChanges trên lớp DataContext. 43 LINQ to SQL Tutorial Bạn có thể thêm các phép kiểm tra thích hợp vào bên trong các phương thức đó - và nếu dữ liệu hợp

TỪ KHÓA LIÊN QUAN