Исключение говорит о том, что NHibernate сначала обнаружил элемент <property />
, который недопустим. Первый элемент в hbm-файле NHibernate должен (почти) всегда быть идентификатором, поэтому, похоже, AutoPersistenceModel
не находит ваши идентификаторы.
Как ваши идентификаторы названы в ваших сущностях? AutoPersistenceModel
ожидает, что их буквально назовут Id , если они будут отличаться, то они их не найдут.
Вы можете использовать опцию конфигурации FindIdentity
, чтобы переопределить способ, которым AutoPersistenceModel
находит идентификаторы, что может быть полезно, если вы не можете изменять свои сущности.
// if your Id is EntityId
.WithSetup(s =>
s.FindIdentity = property => property.DeclaredType.Name + "Id"
)