2009-06-30 25 views
6

Estoy obteniendo un mapeo de excepción una propiedad privada. Esta es la situación: Lo tengo en Entity.cs: privat int m_Inactive;Mapeo de propiedad privada con nhibernate fluido

y en EntityMap.cs tengo:

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

Pero me sale este error:

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

¿Cuál podría ser la razón?

Gracias.

Respuesta

14

Si sigue el examples on the wiki verá que se supone que debe usar Map(Reveal.Member<YourEntity>("m_Inactive")).

+0

El enlace está desactualizado. El actualizado es: http://wiki.fluentnhibernate.org/Fluent_mapping_private_properties y http://wiki.fluentnhibernate.org/Mapping_a_collection_that_uses_a_private_backing_field – sumek

+0

Recientemente me he mudado servidores y había olvidado para volver a crear la URL vuelve a dirigir. ¡Gracias por recordarme! Tanto el enlace antiguo como el nuevo están funcionando ahora. –

+0

Ninguno de los enlaces funciona más. – MushinNoShin

2

Parece que en la última versión se supone que debes usar Reveal.Member desde Reveal.Property es obsoleto:

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

Ah, y una especie de "duh", pero que necesita para asegurarse incluyes FluentNHibernate:

using FluentNHibernate; 

Y otro "duh", pero esto va a funcionar con protegidas miembros, así como privada.

Cuestiones relacionadas