Просмотр редактирования (атрибут Dependency
) Я предполагаю, что ограничения проекта, о которых вы говорите, заключаются в том, что вместо Ninject вы должны использовать Microsoft Unity .
Теперь вы можете решитьВаша проблема с использованием или не использованием Unity.Для начала: немного подкорректируйте классы HomeController
и MyEntitiesRepository
:
public HomeController() :
this(new externalEntities(),
new MyEntitiesRepository (new MyEntities()))
{
}
public HomeController(externalEntities external, MyEntitiesRepository repository)
{
_repository = repository;
_ContextExt = external;
}
public partial class MyEntitiesRepository
{
public MyEntitiesRepository(IMyEntities context)
{
this.Context = context;
}
public IMyEntities Context { get; private set; }
}
Здесь я сделал предположение, что у вас есть класс MyEntities
, реализующий интерфейс IMyEntities
.
Вы также можете использовать Unity.Чтобы немного лучше познакомиться с этой платформой, вы можете начать с MSDN .У меня нет опыта работы с Unity, но я заметил, что вам нужно создать MyEntityRepository
с использованием UnityContainer
объекта:
IUnityContainer container = new UnityContainer();
...
MyEntityRepository repository = container.Resolve<MyEntityRepository>();
Прежде чем это сработает, вам нужно зарегистрировать отображениеMyEntities
до IMyEntities
:
container.RegisterType<IMyEntities, MyEntities>();
Если вы решите попробовать Unity, я предлагаю вам попробовать и задать новый вопрос, если вы застряли.