Come usare componenti fluenti nibernate
-
13-12-2019 - |
Domanda
Sto cercando di usare componenti in fluente nibernate e sto ottenendo il seguente errore.
fluentnon wirough.cfg.fluentConfigurationException: una configurazione non valida o incompleta è stata utilizzata durante la creazione di una sessione di sessione.Controlla la raccolta dei potenziali e in innumerexception per maggiori dettagli.
Il codice seguente sembra giusto o mi manca qualcosa?
Di seguito è ritrovato l'oggetto IM TRYING per riutilizzare
public class Thickness
{
public string Name { get; set; }
public byte ThicknessSize { get; set; }
}
.
L'ho implementato nella mia classe di entità come sotto
public class Liner
{
public virtual int Id { get; set; }
public virtual Thickness Thickness { get; set; }
}
.
La mappa per l'entità è
public class LinerMap : ClassMap<Liner>
{
public LinerMap()
{
Table("Liner");
Id(l => l.Id);
Component(l => l.Thickness);
}
}
.
La configurazione sembra sotto
public static ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008.ConnectionString(c => c
.Server("XXXXX")
.Database("XXXXX")
.Username("XXXXXXXXXX")
.TrustedConnection()))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Liner>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Thickness>())
.BuildSessionFactory();
}
.
Ho notato che il wiki fluente afferma che questa funzione non funziona per Automasing quindi Ive ha usato esplicitamente il metodo .Mapping, ma non sono sicuro se questo è sufficiente
Qualsiasi idea sarà con gratitudine
GB
Soluzione
ha fatto un po 'scavando nel Metodo dei componenti e se il tuo codice sta tentando di utilizzare le sue funzionalitàQuindi ha bisogno di un altro parametro.Non sono sicuro del motivo per cui commetterebbe anche il modo in cui è scritto, ma ha bisogno di due parametri, un parametro per la proprietà di riferimento e un altro che descrive la mappatura per quella proprietà di riferimento.