Я думаю, что вы можете использовать DynamicUpdate () и DynamicInsert () в ваших картах классов, если вы хотите использовать значения по умолчанию, указанные в вашей базе данных для свойств, которые вы не установили. Если вы не используете какой-либо из этих способов, NHibernate попытается обновить / вставить все столбцы независимо от того, являются ли они грязными или нет. Ниже взято из документации NHibernate.
(7) dynamic-update (необязательно, по умолчанию false): указывает, что UPDATE SQL должен создаваться во время выполнения и содержать только те столбцы, значения которых были изменены.
(8) dynamic-insert (необязательно, по умолчанию false): указывает, что INSERT SQL должен генерироваться во время выполнения и содержать только столбцы, значения которых не равны NULL.