Свободный NHibernate OptimisticLock.None () вызывает "Строка 'none' не является допустимым логическим значением." - PullRequest
3 голосов
/ 04 апреля 2010

Я использую следующее отображение:

public class LoadMap : IAutoMappingOverride<Load> {
    public void Override(AutoMapping<Load> mapping) {
        mapping.HasMany(x => x.Bids).OptimisticLock.None();
        mapping.Version(x => x.Version);
    }
}

Но когда я пытаюсь создать сеанс, я получаю следующее исключение:

[FormatException: строка 'none' не является допустимым логическим значением.]

[XmlSchemaValidationException: атрибут 'optimistic-lock' недействителен - значение 'none' недопустимо в соответствии с его типом данных 'http://www.w3.org/2001/XMLSchema:boolean' - Строка' none 'не является допустимым логическим значением.]

Я использую NHibernate 2.1.2.4000, и я использовал Fluent NHibernate 1.0RTM, но попробовал последнюю сборку 636, просто чтобы убедиться, что это не то, что было исправлено недавно или что-то еще.

В качестве примечания: в случае, если я все делаю неправильно , я хотел бы иметь возможность вносить изменения в список .Bids без увеличения версии. Я видел пример в блоге Айенде , который делал то, что я хотел со свойствами.

Ответы [ 2 ]

3 голосов
/ 04 апреля 2010

Я думаю, что это ошибка. Допустимые значения для свойства optimistic-lock - true | false , как указано в комментарии.Похоже, что Fluent NHibernate устанавливает свойство в none, но я бы сгенерировал схему XML, чтобы быть уверенным.

1 голос
/ 23 марта 2011

Как говорит Джейми, похоже, что это ошибка (или отсутствующая функция) в Fluent NHibernate. Я добавил хак, чтобы разрешить установку False и True на OptimisticLock в моей вилке github . Вроде работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...