Hầu hết các ví dụ tôi đã thấy trực tuyến cho thấy theo dõi thay đổi đối tượng trong ngữ cảnh WinForms/WPF. Hoặc nếu nó trên web, các đối tượng được kết nối được sử dụng, do đó, các thay đổi được thực hiện cho mỗi đối tượng có thể được theo dõi.Thực hiện theo dõi thay đổi đối tượng trong ứng dụng WCF MVC N-Tier
Trong kịch bản của tôi, các đối tượng đang bị ngắt kết nối khi họ rời khỏi lớp dữ liệu (Mapped thành các đối tượng kinh doanh trong WCF, và ánh xạ vào DTO về việc áp dụng MVC)
Khi người dùng thay đổi các đối tượng trên MVC (ví dụ, thay đổi 1 thuộc tính trường), làm cách nào để gửi thay đổi đó từ Chế độ xem, tất cả các con đường xuống DB?
Tôi muốn có bảng kiểm tra, lưu các thay đổi được thực hiện cho một đối tượng cụ thể. Những gì tôi muốn lưu là các giá trị trước & sau của một đối tượng duy nhất cho các thuộc tính mà chúng ta sửa đổi
tôi có thể nghĩ ra một số cách để làm điều này
1) Thực hiện một lá cờ IsDirty cho mỗi tài sản cho tất cả các mô hình trong lớp MVC (hoặc trong javascript?). Tuyên truyền thông tin đó trở lại tầng dịch vụ và cuối cùng là lớp dữ liệu.
2) Có cơ chế theo dõi thay đổi này trong lớp dịch vụ sẽ là tuyệt vời, nhưng làm cách nào để theo dõi giá trị "gốc" sau khi các giá trị sửa đổi đã được trả về từ MVC?
3) Trình kích hoạt cơ sở dữ liệu? Nhưng tôi không chắc chắn làm thế nào để bắt đầu. Điều này thậm chí có thể?
Có bất kỳ triển khai theo dõi thay đổi đối tượng đã biết nào ở đó cho giải pháp mvc-wcf n-tier không?
Ví dụ về bảng kiểm toán:
Audit table
Id Object Property OldValue NewValue
--------------------------------------------------------------------------------------
1 Customer Name Bob Joe
2 Customer Age 21 22
+1 ** Khi người dùng thực hiện thay đổi đối tượng trên MVC (ví dụ: thay đổi 1 thuộc tính trường), làm cách nào để gửi thay đổi đó từ Chế độ xem, tất cả xuống đến DB? ** Bạn có thể giải thích điều này không? ? –
Chỉnh sửa để làm rõ hơn –
Chỉ cần ánh xạ trở lại các lớp ORM (Entity Framework?) Và gọi 'SaveChanges()'. Câu hỏi của bạn là gì? –