Orm Nhibernate-映射信息

Orm Nhibernate-映射信息,orm,fluent-nhibernate,Orm,Fluent Nhibernate,我在一个简单的项目中使用fluentnhibernate,我将能够获得关于标识符属性名称、外键属性名称和版本属性名称的一些信息 现在,我只知道一种检索标识符属性名称的方法: string primaryKeyName = NHibernateHelper.OpenSession().SessionFactory.GetClassMetadata(typeof(MyClass).Name).IdentifierPropertyName; 还有什么方法可以获取外来的和版本专有的名称吗?我不知道你的

我在一个简单的项目中使用fluentnhibernate,我将能够获得关于标识符属性名称、外键属性名称和版本属性名称的一些信息

现在,我只知道一种检索标识符属性名称的方法:

string primaryKeyName = NHibernateHelper.OpenSession().SessionFactory.GetClassMetadata(typeof(MyClass).Name).IdentifierPropertyName;

还有什么方法可以获取外来的和版本专有的名称吗?

我不知道你的意思,但是元数据对象拥有关于对象映射的所有信息

内部版本,如果你是这个意思

var postMeta = sessionFactory.GetClassMetadata(typeof(Post)); 
var version = postMeta.VersionProperty;
还有一些集合存储实体的所有属性的类型、可空性、名称和惰性

var lazzyProperties = meta.PropertyLaziness;
var propertyNames = meta.PropertyNames;
//etc...
如果存在包映射等,PropertyTypes数组实际上存储一个包对象。。。在这些对象的某个地方,您会发现一些属性,其中nHibernate在内部存储外键关系,fromto等


希望这有助于

PropertyLaziness返回一个bool数组,但它不能帮助我。PropertyTypes没有给我任何关于外键名和属性versione(我指的是timestamp属性)名称的信息。你能再给我举个例子吗?@不,对不起。只需自己调试,在对象上设置watch并检查您将获得的信息。。。和/或查看nHibernate的代码。。。