Domanda

Sto utilizzando la seguente mappatura:

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

Ma quando cerco di creare la sessione ottengo la seguente eccezione:

[FormatException:La stringa 'none' non è valido il valore Booleano.]

[XmlSchemaValidationException:Il 'ottimista-lock' attributo non valido - Il valore di 'nessuno' non è valido secondo il suo tipo 'http://www.w3.org/2001/XMLSchema:boolean'La stringa 'none' non è valido il valore Booleano.]

Sto usando NHibernate 2.1.2.4000 e stavo usando Fluente NHibernate 1.0 RTM, ma provato l'ultima build 636 solo per essere sicuri che questo non è qualcosa che è stato risolto di recente o qualcosa del genere.

Come nota a margine, nel caso in cui io sto facendo tutto sbagliato, Vorrei essere in grado di apportare modifiche al .Offerte elenco senza incremento di Versione.Ho visto un esempio su Ayende blog che ha fatto quello che volevo con la proprietà.

È stato utile?

Soluzione

Penso che sia un bug. I valori validi per la proprietà ottimisti-lock sono true | false , come lo stato nel tuo commento. Sembra che Fluent NHibernate sta impostando la proprietà a nessuno ma vorrei generare lo schema XML per essere sicuri.

Altri suggerimenti

Come Jamie dice, sembra un bug (o caratteristica mancante) in ottimo NHibernate.Ho aggiunto un hack per consentire l'impostazione di Falso e Vero su OptimisticLock in il mio github forcella.Sembra funzionare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top