0

我想解析一个 Fluent NHibernate 映射文件,以便我可以获得其中指定的表名和列名。

加载程序集并将类型反映为 ClassMap 不是问题,但该类仅获取设置表名和列名的方法 - 无法再次获取名称。

有任何想法吗?

4

1 回答 1

0

使用Reflector,看起来 Table 方法具有以下签名:

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

列将变得更加困难,因为它将属性、引用和集合分开。例如。

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;
}

理论上,虽然您可以通过反射获取私有字段属性、属性和引用,并通过这种方式获取信息。

于 2011-01-31T18:42:00.067 回答