Похоже, вы назначаете тот же ключ для нового объекта. Я имею в виду, может быть, вы пытаетесь сохранить новый объект в базе данных с тем же ключом / идентификатором. Если вы обновляете объект с Id / Key = 1, вы должны использовать вместо него команду обновления.
Как сказал Джонни Кандалл, нам нужно больше информации о вашем сопоставлении NHibernate, чтобы увидеть, что вы делаете ...
Сделайте это для себя:
<!-- Identity mapping -->
<id name="Emp_Id">
<column name="Emp_Id" />
<generator class="native" />
</id>
Совет: не используйте строку в качестве типа данных для столбца идентификаторов.