Fluent NHibernate,关于代码设计的问题
本文关键字:问题 代码 NHibernate 于代码 Fluent | 更新日期: 2023-09-27 18:15:10
大家好,我是一个刚接触Fluent NHibernate的人。
让我们想象一下,我们有很多类
ClassA
ClassB
ClassC
…
创建schema后,我想要得到一个创建表的列表。
例如:打开form ->有一个表的名称,当我们点击每个表时,我们从这个表中获得记录。
我怎样才能做到这一点?有更便宜的方法吗?不经过思考就能做出来吗?(解析所有类,并获取其名称)
nhibernate内置支持获取所有映射实体及其表的名称。代码可能像这样:
ISessionFactory factory = ... // get your NH ISessionFactory;
// all mapped entities as dictionary
var allClassMetadata = factory.GetAllClassMetadata();
foreach (var meta in allClassMetadata)
{
var persister = meta.Value as NHibernate.Persister.Entity.AbstractEntityPersister;
var tableName = persister.TableName;
var entityName = persister.EntityType.Name;
...
// TODO what needed with this info
}