2009-05-20 27 views
6

Tôi muốn thực hiện phương thức này một phần trong lớp bảng Linq của tôi.Khi nào OnValidate được gọi trong LINQ?

partial void OnValidate(System.Data.Linq.ChangeAction action); 

Hy vọng của tôi là nó được gọi ngay trước khi chèn. Bất cứ ai có thể cho tôi biết khi phương pháp OnValidate được gọi là?

Cập nhật 1

Tôi hiểu rằng tôi có thể kiểm tra enum để xem những hành động gây ra nó để bắn. Nhưng WHEN có được gọi không? Tôi cần phải biết nếu nó được gọi là mỗi khi ai đó gửi thay đổi hoặc những gì?

Trả lời

6

Phương thức OnValidate cho mỗi thực thể đã thay đổi, nếu nó tồn tại, sẽ được gọi trong SubmitChanges cho bối cảnh dữ liệu chứa thực thể. Do đó, nó sẽ kích hoạt tất cả các chèn, cập nhật và xóa được thực hiện với ngữ cảnh dữ liệu đó kể từ lần cuối cùng SubmitChanges được gọi (hoặc ngữ cảnh được tạo). Nếu bạn cần phân biệt hành động xác thực của mình tùy thuộc vào loại thay đổi, bạn có thể khóa tham số ChangeAction để kiểm soát luồng thực thi.

+0

Tuyệt vời chỉ là những gì tôi cần! Cảm ơn! –

Các vấn đề liên quan