流畅的NHibernate,关于代码设计的问题
Greeetings,我是Fluent NHibernate的新手。
让我们想象一下,有很多课程
ClassA的
ClassB的
ClassC
…
创建模式后,我想获得一个创建表的列表。
例如:
打开表单 – >有一个表的名称,当我们点击每个表时,我们从这个表中获取记录。
我怎样才能做到这一点? 有更便宜的方式吗? 有可能没有反思吗? (解析所有课程,并获得它的名字)
NHiberante具有内置支持,可以获取所有映射实体及其表的名称。 代码可能如下所示:
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 }