Frage

Ich möchte eine fließende NHibernate -Zuordnungsdatei analysieren, damit ich den Tabellennamen und die Spaltennamen erhalten kann, die dort angegeben sind.

Das Laden der Baugruppe und das Reflektieren des Typs als ClassMap ist kein Problem, aber diese Klasse erhält nur Methoden zum Festlegen der Tabelle und der Spaltennamen - nichts, um die Namen wieder zurückzubekommen.

Irgendwelche Ideen?

War es hilfreich?

Lösung

Verwendung Reflektor, Es sieht so aus, als ob die Tabellenmethode diese Signatur hat:

public void Table(string tableName)
{
    this.attributes.Set<string>(x => x.TableName, tableName);
}

Spalten sind viel schwieriger, da sie Eigenschaften, Referenzen und Sammlungen getrennt halten. Z.B.

protected virtual PropertyPart Map(PropertyInfo property, string columnName)
{
    PropertyPart propertyMap = new PropertyPart(property, typeof(T));
    if (!string.IsNullOrEmpty(columnName))
    {
        propertyMap.Column(columnName);
    }
    this.properties.Add(propertyMap);
    return propertyMap;
}

Theoretisch können Sie die privaten Felderattribute, Eigenschaften und Referenzen durch Reflexion erhalten und die Informationen auf diese Weise erhalten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top