Tôi đang thực hiện cập nhật tiêu chuẩn trong NHibernate thành một thuộc tính duy nhất. Tuy nhiên trên cam kết của giao dịch, bản cập nhật sql dường như thiết lập tất cả các trường tôi đã ánh xạ trên bảng mặc dù chúng không thay đổi. Chắc chắn đây không phải là hành vi bình thường trong Nhibernate? Tôi có làm điều gì sai? Cảm ơnCập nhật NHibernate trên thuộc tính đơn cập nhật tất cả các thuộc tính trong sql
using (var session = sessionFactory.OpenSession())
{
using (var transaction = session.BeginTransaction())
{
var singleMeeting = session.Load<Meeting>(10193);
singleMeeting.Subject = "This is a test 2";
transaction.Commit();
}
}
vừa gặp phải tình huống tương tự. Tôi nghĩ rằng đây là một mặc định xấu và tôi sẽ tìm kiếm các cuộc thảo luận trực tuyến trong các diễn đàn thích hợp. điều này đã gây ra lỗi trong ứng dụng máy chủ mà tôi đang làm việc - vì nó thay đổi logic ứng dụng, thường trong trường hợp các hành động đồng thời trong đó một đối tượng được tạo, sau đó tìm nạp, lấy bởi một luồng/quá trình khác (phiên khác), sửa đổi và cập nhật (cập nhật các trường không liên quan riêng biệt). bản cập nhật cuối cùng sẽ chạy trên các thay đổi trong giao dịch trước đó ... Tôi đã tham khảo ý kiến này với các đồng nghiệp của mình và chúng tôi nghĩ hiệu suất đạt được không phải là quyết liệt. –
@YonatanKarni, điều này không chỉ về hiệu suất mà còn về tính nhất quán. Xem [câu hỏi] này (/ q/13954882/1178314) và [câu trả lời hiện tại được chấp nhận] của nó (/ a/13955305/1178314). –