Я где-то читал, что NHibernate 2.1 поддерживает инъекцию зависимости конструктора для ее entites.Инъекция зависимостей конструктора с NHibernate 2.1 и StructureMap
Как мне настроить конфигурацию StructureMap и NHibnerate 2.1, чтобы запустить ее?
Я где-то читал, что NHibernate 2.1 поддерживает инъекцию зависимости конструктора для ее entites.Инъекция зависимостей конструктора с NHibernate 2.1 и StructureMap
Как мне настроить конфигурацию StructureMap и NHibnerate 2.1, чтобы запустить ее?
Установив StructureMap на все ваши сущности (классы и т. Д.), А затем используя интерфейс для каждого из них в качестве подписи для конструктора класса ... при создании экземпляра класса, у которого есть зависимость в его конструкторе StructureMap будет автоматически вводить его для вас!
[PluginFamily("Default")]
public interface IWidget1
[Pluggable("Default")]
public class Widget1 : IWidget1
[PluginFamily("Default")]
public interface IAnotherWidget
[Pluggable("Default")]
public class AnotherWidget : IAnotherWidget
{
public AnotherWidget(IWidget widget)
{
...
}
}
IAnotherWidget _anotherWidget = ObjectFactory.GetInstance<IAnotherWidget>();
Нечто подобное!
Это может быть полезным также: Can I replace the call to Activator.CreateInstance() in NHibernate?
Я понимаю, что это старый вопрос, но в случае, если это может быть полезно.
EDIT: Оригинальные ссылки не были эффективны для NHib 2.1, нашли лучшую информацию.
Для NHibernate 2.1 вы можете создать перехватчик и переопределить метод Instantiate и создать там свой контейнер. Here is an example
Если вы хотите вместо этого использовать инъекцию свойств, вы можете использовать ту же технику, но вместо этого выполните свою работу в методе onLoad.
Получите что-нибудь с этим? Я также хочу ввести зависимости в свои объекты с помощью sm. –
Нет, я думаю, я решил это, переосмыслив проблему и избегая инъекции зависимостей :) – BjartN