【发布时间】:2011-06-18 13:11:22
【问题描述】:
我想通过 Fluent NHibernate 映射文件进行解析,以便获取其中指定的表名和列名。
加载程序集并将类型反映为 ClassMap 不是问题,但该类仅获取设置表和列名称的方法 - 无法再次获取名称。
有什么想法吗?
【问题讨论】:
标签: c# nhibernate fluent mappings
我想通过 Fluent NHibernate 映射文件进行解析,以便获取其中指定的表名和列名。
加载程序集并将类型反映为 ClassMap 不是问题,但该类仅获取设置表和列名称的方法 - 无法再次获取名称。
有什么想法吗?
【问题讨论】:
标签: c# nhibernate fluent mappings
使用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;
}
虽然理论上您可以通过反射获取私有字段的属性、属性和引用,并通过这种方式获取信息。
【讨论】: