Свободный Nibernate OmitesisticLocklock.none () вызывает «строку« Нет »не является действительным логическим значением».

StackOverflow https://stackoverflow.com/questions/2573607

Вопрос

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

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

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

Форматеxception: Строка «Нет» не является действительным логическим значением.

XmlschemavalidationException: атрибут «Оптимистичное блокировка» недействителен - значение «Нет» недействителен в соответствии с его DataType 'http://www.w3.org/2001/xmlschema:boolean.'- строка «нет» не является действительным логическим значением.

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

Как боковая заметка, В случае, если я делаю это все неправильно, Я хотел бы иметь возможность внести изменения в список. Впустую без увеличения версии. Я видел пример на Блог Ayende Это делало то, что я хотел с свойствами.

Это было полезно?

Решение

Я думаю, что это ошибка. Допустимые значения для объекта оптимистичного блокировки являются True | false, как вы говорите в своем комментарии. Похоже, что свободно Nhibernate устанавливает свойство, кроме того, что я бы создал схему XML, чтобы быть уверенным.

Другие советы

Как говорит Джейми, похоже на ошибку (или отсутствующую функцию) в свободном Nhibernate. Я добавил взлом, чтобы позволить установить ложь и верно на оптимистичном документе в Моя вилочка Github. Отказ Кажется, работает.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top