我有NHibernate的PreUpdate和其他东西的听众。他们正确射击。
我做:
var model = PopulateDetailsViewModel(user, id);
_viewHistoryWorkerService.AddObjectToHistory(id, user.TenantId, user.UserId, "Individual", user.IsEmulated);
我使用个人数据填充视图模型,在那里加载了很多实体来填充DetailsViewModel。现在在AddObjectToHistory方法中,我只需添加一个历史对象。
newHistory = new History();
newHistory.ObjectAccessedOn = DateTime.Now;
newHistory.ObjectId = objectId;
newHistory.TenantId = tenantId;
newHistory.UserId = userId;
newHistory.ObjectName = type;
_historyRepository.SaveOrUpdate(userId, newHistory);
问题在于,当SaveOrUpdate完成更新历史实体时,我在PreUpdate hibernate事件中进行了所有类型的尝试,以保存所有加载的实体以填充DetailsViewModel并且未被修改。
问题是NHibernate更新未修改的实体?