Я использую архитектуру S # arp с Fluent Nhibernate и Automapper в устаревшей БД.
Столбец id в одной из таблиц отличается от соглашения об автоматическом сопоставлении, поэтому я безуспешно пытался переопределить его. Я получаю эту ошибку
FluentNHibernate.Cfg.FluentConfigurationException: при создании SessionFactory использовалась недопустимая или неполная конфигурация. Проверьте коллекцию PotentialReasons и InnerException для получения дополнительных сведений.
- База данных не была настроена с помощью метода базы данных.
FluentNHibernate.Cfg.FluentConfigurationException: при создании SessionFactory использовалась недопустимая или неполная конфигурация. Проверьте коллекцию PotentialReasons и InnerException для получения дополнительных сведений.
База данных не была настроена с помощью метода базы данных.
---- NHibernate.MappingException: (XmlDocument) (3,6): ошибка проверки XML: элемент 'class' в пространстве имен 'urn: nhibernate-mapping-2.2' имеет недопустимое свойство дочернего элемента 'property' в пространстве имен 'urn: nhibernate -mapping-2.2 '. Список возможных ожидаемых элементов: «мета, подзапрос, кеш, синхронизация, комментарий, туплайзер, идентификатор, составной-идентификатор» в пространстве имен «urn: nhibernate-mapping-2.2». ---- System.Xml.Schema.XmlSchemaValidationException: элемент 'class' в пространстве имен 'urn: nhibernate-mapping-2.2' имеет недопустимое свойство дочернего элемента 'property' в пространстве имен 'urn: nhibernate-mapping-2.2'. Список возможных ожидаемых элементов: «мета, подзапрос, кеш, синхронизация, комментарий, туплайзер, идентификатор, составной-идентификатор» в пространстве имен «urn: nhibernate-mapping-2.2».
Как мне воспользоваться соглашением об автоматическом сопоставлении идентификаторов и установить собственный столбец в качестве идентификатора с помощью функции переопределения?
Примечание. Это только для одного объекта. Я не хочу менять общие правила сопоставления идентификаторов
Вот моя текущая функция переопределения
public class AuthMap : IAutoMappingOverride<Auth>
{
public void Override(AutoMapping<Auth> mapping)
{
mapping.Table("x_auth");
mapping.Map(x => x.Id, "user_id");
mapping.Map(x => x.SessId, "sess_id");
}
}