2011-01-14 5 views
0

Die hier gegebene Anleitung http://fluentnhibernate.org/blog/2010/05/23/feature-focus-fields.html schlägt vor, dass ab V1.1 die Automapping-Funktion von Fluent NHibernate das Mapping auf private Felder unterstützt.Wie man private Felder in FluentNHibernate mit DefaultAutomappingConfiguration abbildet

Mit dem folgenden Code sollte NHiberate in der Lage sein, das Feld myValue zuzuordnen.

public class SomeEntity 
{ 
    private string myValue; 
    public virtual int Id { get; set; } 
} 

public class DomainAutomappingConfiguration : DefaultAutomappingConfiguration 
{ 
    public override bool ShouldMap(FluentNHibernate.Member member) 
    { 
     return (member.IsProperty && member.IsPublic && member.CanWrite) || 
       (member.IsField && member.IsPrivate); 
    } 
} 

Jedoch, wenn ich diesen Code ausführen und versuchen, zu kartieren, erhalte ich die folgende Ausnahme:

NHibernate.PropertyNotFoundException: Es kann keinen Getter für Immobilien finden 'myValue' in Klasse ... ..

ich bin mit FluentNHibernate 1.1 und NHibernate 3.0.0.2001

Was mache ich falsch?

Antwort

0

Wechsel:

privat string myValue;

An:

private string myValue {get; set;}

Ich bin nicht sicher, ob dies für Sie tun, aber der Fehler, den Sie empfangen werden, ist der Mangel an der {get;} wenn das private Feld bezeichnet wird. Hoffentlich bringt dich das auf den richtigen Weg. Ich habe nicht versucht, private Felder zuzuordnen.

Viel Glück.