我在一个简单的项目中使用Fluent NHibernate,我将能够获得有关标识符属性名称,外键属性名称和版本属性名称的一些信息。
现在,我只知道一种检索标识符属性名称的方法:
string primaryKeyName = NHibernateHelper.OpenSession().SessionFactory.GetClassMetadata(typeof(MyClass).Name).IdentifierPropertyName;
有没有办法获得外国和版本的名称呢?
答案 0 :(得分:-1)
不知道你的意思,但元数据对象包含有关对象映射的所有信息
如果你的意思是内部版本?
var postMeta = sessionFactory.GetClassMetadata(typeof(Post));
var version = postMeta.VersionProperty;
然后有一些集合存储实体所有属性的类型,可空性,名称和懒惰
var lazzyProperties = meta.PropertyLaziness;
var propertyNames = meta.PropertyNames;
//etc...
如果有Bag映射等,PropertyTypes数组实际上存储了一个Bag对象......在这些对象的某个地方你会发现一些属性,其中nHibernate内部存储外键关系,从< - >到...等等...
希望这有帮助