【问题标题】:using ModelMapper for NHibernate with mapping by code将 ModelMapper 用于 NHibernate 并通过代码进行映射
【发布时间】:2014-04-25 21:13:45
【问题描述】:

我在单独的类中创建了一个 HibernateMapping。映射和类在一个程序集中。我用来测试的 NUnit 测试在另一个程序集中。 我想我在这篇文章中做到了this

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 是否错误?

我不想单独添加我的所有映射。

【问题讨论】:

    标签: c# nhibernate nhibernate-mapping .net-assembly


    【解决方案1】:

    您可以从它所属的程序集中将一个类添加到Addmappings

    我的配置是这样的:-

    mapper.AddMappings(typeof(CmsMeta).Assembly.GetTypes());
    

    基本上我有 50 个左右的映射类,但只需要指定其中一个所在的程序集。 NHibernate 将自动扫描该程序集以找到其余部分。我所有的映射和​​模型类都存在于一个单独的程序集中Domain.Model

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-14
      • 1970-01-01
      • 1970-01-01
      • 2012-04-09
      • 1970-01-01
      • 2013-09-05
      • 1970-01-01
      • 2018-08-17
      相关资源
      最近更新 更多