Pregunta

Estoy usando el siguiente mapeo:

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

Pero cuando trato de crear la sesión me sale el siguiente excepción:

  

[FormatException: La cadena 'ninguno' no es un valor booleano válido.]

     

[XmlSchemaValidationException: El atributo 'optimista-lock' no es válido - El valor 'none' es inválida de acuerdo a su tipo de datos ' http://www.w3.org/2001/XMLSchema:boolean ' - La cadena 'ninguno' no es un valor booleano válido]

.

Estoy usando NHibernate 2.1.2.4000 y yo estaba usando Fluido NHibernate 1.0RTM, pero probamos la versión más reciente 636 sólo para estar seguro de que esto no es algo que se fijó recientemente o algo.

Como nota al margen, en caso de que estoy haciendo esto mal , me gustaría ser capaz de hacer cambios en la lista .Bids sin incrementar versión. Vi un ejemplo de de Ayende el blog que hice lo que quería con propiedades.

¿Fue útil?

Solución

Creo que es un error. los valores válidos para la propiedad optimista de bloqueo son true | false , a medida que el estado en su comentario. Parece que Fluido NHibernate está estableciendo la propiedad a nadie sino que generaría el esquema XML para estar seguro.

Otros consejos

Como Jamie dice, se ve como un error (o característica que falta) en Fluido NHibernate. He añadido un truco para permitir el establecimiento de falso y verdadero en OptimisticLock en mi github tenedor . Parece que funciona.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top