2009-06-30 5 views
6

Otrzymuję wyjątek odwzorowujący własność prywatną. Jest to sytuacja: Mam to w Entity.cs: privat int m_Inactive;Mapowanie właściwości prywatnych z płynnym nhibernate

aw EntityMap.cs mam:

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

Ale otrzymuję ten błąd:

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

Co może być przyczyną?

Dzięki.

Odpowiedz

14

Jeśli podążysz za examples on the wiki zobaczysz, że powinieneś użyć Map(Reveal.Member<YourEntity>("m_Inactive")).

+0

Link jest nieaktualny. Zaktualizowana jeden jest: http://wiki.fluentnhibernate.org/Fluent_mapping_private_properties i http://wiki.fluentnhibernate.org/Mapping_a_collection_that_uses_a_private_backing_field – sumek

+0

ja niedawno przeniósł serwery i zapomniał, aby ponownie utworzyć URL przekierowania. Dzięki za przypomnienie! Zarówno stare, jak i nowe łącze działają teraz. –

+0

Żadne połączenie już nie działa. – MushinNoShin

2

Wygląda jak w najnowszej wersji, którą powinniśmy używać Reveal.Member od Reveal.Property jest przestarzały:

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

Aha, i swego rodzaju „fe”, ale trzeba się upewnić, dołączyć FluentNhibernate:

using FluentNHibernate; 

a inny „duh”, ale to będzie działać z chronionych członków, jak również prywatnej.