Có ai biết nếu nó có thể cho biết nếu một tài sản cụ thể trên một đối tượng là bẩn (tức là tài sản khác với tài sản được lưu trữ trên DB) bằng cách sử dụng NHibernate?Tôi có thể biết một tài sản có bị bẩn bằng cách sử dụng nhibernate không?
Nền tảng cho câu hỏi này là tôi sẽ có một đối tượng có số lượng lớn (tương đối) các thuộc tính trên đó. Tôi cần để có thể vượt qua một tham số (chuỗi) đến một hàm sẽ xác định xem thuộc tính cụ thể đó có thay đổi trong suốt thời gian tồn tại của trang hay không.
Nếu tôi cần tôi có thể tạo bản sao của đối tượng và sử dụng sự phản chiếu ở cuối vòng đời của trang để kiểm tra giá trị, nhưng tôi không muốn làm điều này. Nó sẽ là tuyệt vời nếu NHibernate chỉ đơn giản có thể cho tôi biết nếu một tài sản là bẩn.
Cảm ơn
Các bài không đúng cách đánh giá cho nhà nước bẩn, thay đổi: Int32 [] dirtyProps = oldState.Select ((o, i) => Object.equals (oldState [i], currentState [i])? -1: i) .Có (x => x> = 0) .ToArray(). Trong thực tế kiểm tra bẩn này có sẵn từ persister thông qua IEntityPersister.FindDirty. Ví dụ: http://stackoverflow.com/questions/1690755/in-nhibernate-my-check-if-entity-is-dirty-fails – Llyle