Pregunta

Me gustaría analizar un archivo de mapeo nhibernato fluido para poder obtener el nombre de la tabla y los nombres de columnas que se especifican allí.

Cargar el ensamblaje y reflejar el tipo como ClassMap no es un problema, pero esa clase solo obtiene métodos para establecer los nombres de la tabla y la columna, nada para recuperar los nombres.

¿Algunas ideas?

¿Fue útil?

Solución

Usando Reflector, parece que el método de tabla tiene esta firma:

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

Las columnas serán mucho más difíciles, ya que mantiene las propiedades, las referencias y las colecciones separadas. P.ej.

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

En teoría, aunque podría obtener los atributos de los campos privados, las propiedades y las referencias a través de la reflexión y obtener la información de esa manera.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top