我想解析一个 Fluent NHibernate 映射文件,以便我可以获得其中指定的表名和列名。
加载程序集并将类型反映为 ClassMap 不是问题,但该类仅获取设置表名和列名的方法 - 无法再次获取名称。
有任何想法吗?
我想解析一个 Fluent NHibernate 映射文件,以便我可以获得其中指定的表名和列名。
加载程序集并将类型反映为 ClassMap 不是问题,但该类仅获取设置表名和列名的方法 - 无法再次获取名称。
有任何想法吗?
使用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;
}
理论上,虽然您可以通过反射获取私有字段属性、属性和引用,并通过这种方式获取信息。