При беглом использовании NHibernate OptimisticLock.None () строка 'none' не является допустимым логическим значением.

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

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 без увеличения версии. Я видел пример в блоге Айенде, который сделал то, что хотел со свойствами.


person DavGarcia    schedule 04.04.2010    source источник
comment
Я начинаю думать, что карта ‹bag /› должна иметь Optimistic Lock = true | false. Мне сложно найти в Интернете примеры, подтверждающие это. В таком случае, почему HasMany в Fluent NHibernate использует .OptimisticLock.None () вместо .Not.OptimisticLock ()?   -  person DavGarcia    schedule 04.04.2010


Ответы (2)


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

person Jamie Ide    schedule 04.04.2010
comment
Да, значение в XML - «нет» вместо «ложь». - person DavGarcia; 05.08.2010

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

person sinelaw    schedule 23.03.2011