I have ClassMap and entity. In code I would like to get column names for properties in entity. Any Idea?
public class AccountToDepotMap : ClassMap
There is an deep overview:
Exploring nhibernate mapping
And the simple code snippet from here
How do you get the database column name out of an auditing event listener in NHibernate
how to get the a persister:
var entityType = typeof(TEntity);
var factory = ... // Get your ISessionFactory
var persister = factory.GetClassMetadata(entityType) as AbstractEntityPersister;
which can be later iterated
// the set of Properties
var propertyNameList = persister.PropertyNames;
// here we get all the settings for remaining mapped properties
foreach (var propertyName in propertyNameList)
{
...
using above code
This is working in my case
List<string> columns = new List<string>();
for (int i = 0; i < persister.PropertyNames.Count(); i++)
{
if (persister.GetPropertyColumnNames(i).Count() > 0)
{
columns.Add(persister.GetPropertyColumnNames(i).ToList().First());
}
}