public int SaveChanges(ListForm form) { var tUserList = Table <UserList>(); var userList = tUserList.GetOrAdd(w => w.ID == form.ID || (w.UserID == form.UserID && w.Name == form.Name)); MapProperty(form, userList, form.InlineEditProperty); UpdateAuditFields(userList, form.ByUserID); // override if (form.InlineEditProperty == form.PropertyName(m => m.ShareLevel)) { userList.ShareLevel = form.ShareLevel; } // save SaveChanges(); return(userList.ID); }