-1

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

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

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

是否也有一些方法可以获得外国和版本的属性名称?

4

1 回答 1

-1

真的不知道你的意思,但元数据对象包含有关对象映射的所有信息

如果你的意思是内部版本?

var postMeta = sessionFactory.GetClassMetadata(typeof(Post)); 
var version = postMeta.VersionProperty;

然后有一些集合存储了实体的所有属性的类型、可空性、名称和惰性

var lazzyProperties = meta.PropertyLaziness;
var propertyNames = meta.PropertyNames;
//etc...

如果存在 Bag 映射等,PropertyTypes 数组实际上存储了一个 Bag 对象...在这些对象中的某个地方,您会发现 nHibernate 内部存储外键关系的一些属性,从<->到等...

希望这可以帮助

于 2013-10-02T19:10:02.127 回答