2009-06-30 13 views
6

Ricevo un'eccezione che associa una proprietà privata. Questa è la situazione: Ho questo in Entity.cs: privat int m_Inactive;Mappatura di proprietà privata con fluente nibernato

e EntityMap.cs ho:

Map(x => Reveal.Property<Entity>("m_Inactive")).ColumnName.("INACTIVE"); 

Ma ottengo questo errore:

System.Reflection.TargetInvocationException: Exception has been thrown 
by 
the target of an invocation. ---> System.ArgumentException: Not a member access 

Quale potrebbe essere il motivo?

Grazie.

risposta

14

Se segui lo examples on the wiki vedrai che devi usare Map(Reveal.Member<YourEntity>("m_Inactive")).

+0

Il collegamento non è aggiornato. L'unico aggiornato è: http://wiki.fluentnhibernate.org/Fluent_mapping_private_properties e http://wiki.fluentnhibernate.org/Mapping_a_collection_that_uses_a_private_backing_field – sumek

+0

Recentemente ho spostato i server e che avevo dimenticato di ricreare l'url reindirizza. Grazie per avermi ricordato! Sia il vecchio che il nuovo collegamento funzionano ora. –

+0

Nessun collegamento funziona più. – MushinNoShin

2

Sembra che nella sua ultima versione si suppone di utilizzare Reveal.Member poiché Reveal.Property è obsoleto:

Map(Reveal.Member<YourEntity>("m_Inactive")) 

Oh, e una sorta di "duh", ma è necessario assicurarsi che di includere FluentNHibernate:

using FluentNHibernate; 

E un altro "duh", ma questo funzionerà con protette membri nonché privato.

Problemi correlati