NHibernate требует ID. Метод doc говорит, что он создает идентификатор, который не имеет соответствующего свойства в вашем доменном объекте, однако у базы данных все еще есть идентификатор.
Если в вашей таблице нет поля для пометки в качестве идентификатора (должен быть уникальным ..), возможно, вы можете попытаться определить некоторые столбцы, которые можно составить в виде составного идентификатора.
Для примера приведена простая таблица ссылок, которая связывает некоторые int с другими int, такими как
A | B
-----
1 | 2
1 | 3
2 | 2
вы можете использовать Composite ID, если все комбинации A / B уникальны.
public PersonMapping()
{
[...]
CompositeId()
.KeyProperty(x => x.A)
.KeyProperty(x => x.B);
[...]
}