使用ModelMapper for NHibernate通过代码进行映射
本文关键字:代码 映射 ModelMapper for NHibernate 使用 | 更新日期: 2023-09-27 18:00:12
我在单独的类中创建了一个Hibernate映射。映射和类在一个程序集中。我用来测试这一点的NUnit测试在另一个程序集中。我想我在这个的帖子中做得很好
class testMapping : ClassMapping<test>{
//myMappings
}
现在我创建了一个映射器并将其添加到我的配置中:
var cfg=new Configuration();
cfg.Configure();
var mapper = new ModelMapper();
mapper.AddMappings(Assembly.GetExecutingAssembly().GetExportedTypes());
cfg.AddMapping(mapper.CompileMappingForAllExplicitlyAddedEntries());
var session = cfg.BuildSessionFactory();
但找不到我的映射。是否将mapper.AddMappings()
替换为:
mapper.AddMappings(New List<SystemType> {typeof(testMapping)});
它会起作用的。
我用错GetExecutingAssembly了吗?
我不想单独添加所有映射。
您可以从Addmappings
所属的程序集向其添加一个类。
我的配置是这样的:-
mapper.AddMappings(typeof(CmsMeta).Assembly.GetTypes());
基本上我有50个左右的映射类,但只需要指定其中一个类所在的程序集。NHibernate将自动扫描该程序集以找到其余的程序集。我的所有映射和模型类都位于一个单独的程序集Domain.Model