2009-06-08 7 views
4

Angenommen, ich habe diese Klasse:Wie Auto-Eigenschaft privaten Satz mit NHibernate zuordnen?

public class GroceryListItem() 
{ 
    public GroceryList { get; private set; } 

    public GroceryListItem(GroceryList groceryList) 
    { 
    GroceryList = groceryList; 
    } 
} 

Was ist die NHibernate-Mapping-Datei für dieses Szenario Zugriffsstrategie? (Dh < one-to-many-name = "GroceryList" column = "XXX" access = "?????"/>)

Antwort

4

Es stellt sich heraus, die Antwort ist ziemlich einfach - kein besonderer Zugang erforderlich ist. NHibernate ist schlau genug, um dies selbst zu erarbeiten. Mit anderen Worten funktioniert der Code in meiner Frage korrekt mit der folgenden Zeile in der Zuordnungsdatei:

<one-to-many name="GroceryList" column="XXX" /> 
3

Verwendung access = "Read-only" in den neueren Versionen oder eigene PropertyAccessor erstellen oder hier beschrieben eine der anderen Ansätze verwenden:

http://blog.schuager.com/2008/12/nhibernate-read-only-property-access.html

+0

Vielen Dank für den Vorschlag, aber ich denke nicht, dass es für dieses Problem gilt. Die eigentliche Antwort ist eigentlich ein bisschen einfacher - es ist kein spezieller Zugriff erforderlich. –

+0

Der Zugriff = "readonly" wird verwendet, wenn Sie überhaupt keinen Setter haben. –

Verwandte Themen