Похоже, проблема здесь.
var mapper = new ModelMapper();
mapper.AddMappings(Assembly.GetExecutingAssembly().GetExportedTypes());
cfg.AddMapping(mapper.CompileMappingForAllExplicitlyAddedEntities());
cfg.AddAssembly("MyProject.Common");
Assembly.GetExecutingAssembly () не будет вашей новой сборкой проекта сопоставления.
Я всегда создаю модель своего домена в отдельном проекте и передаю ее инициализатору nhibernate.
Итак, у меня есть свойство на моем NhibernateInitializer, которое принимает сборку сопоставления
private Assembly MappingAssembly
{
get { return _mappingAssembly ?? (_mappingAssembly = Assembly.Load(_mappingAssemblyName)); }
}
Это загружает мою сборку картирования.
Тогда, когда пришло время настроить их в моем маппере, код будет
_mapper.AddMappings(MappingAssembly.GetExportedTypes());