C # NHibernate: Как сделать инжекцию конструктора в производный класс сопоставления классов? - PullRequest
0 голосов
/ 08 декабря 2018

Я новичок с NHibernate.Я как-то не смог найти ответ на свой вопрос.Итак, позвольте мне спросить здесь.

Как я могу добавить зависимости в класс как этот:

/*
  public abstract class ByCodeAutoClassMapping<T> : ClassMapping<T> where T : EntityBase ... etc
 */
using App.Data.Persistence.Infrastructure;
using App.Data.Persistence.Infrastructure.Builders;
using Domain;
using NHibernate.Mapping.ByCode;

namespace Persistence.Auto.Mappings
{
    public class EmployeeMapping : ByCodeAutoClassMapping<Employee>
    {
        protected override void InitCustomMappings(TableMapBuilder<Employee> tableMapping)
        {
            Schema("test");
        }
    }
}

Есть ли способ сначала зарегистрировать классы персистентности в каком-то контейнере IoC, а затемпредоставить эти регистрации NHibernate?

Спасибо

1 Ответ

0 голосов
/ 11 декабря 2018

Вы должны иметь возможность зарегистрировать классы отображения по соглашению.Что-то вроде:

yourContainer.Register(AllTypes.DerivedFrom(typeof(ByCodeAutoClassMapping<>));

Когда вам нужно зарегистрировать типы сопоставления в NH, вы сможете использовать контейнер IoC для их разрешения:

nhMappingTypes = yourContainer.Resolve(typeof(ByCodeAutoMapping<>));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...