Я использую шаблон репозитория с интерфейсами, и я использую Structuremap для отображения между ними.
В моем global.asax я определил:
ObjectFactory.Initialize(x =>
{
x.For<IUnitOfWorkFactory>().Use<EFUnitOfWorkFactory>();
x.For(typeof(IRepository<>)).Use(typeof(EFRepository<>)
}
);
Теперь я хочу добавить еще один метод БД в сущность MyEntity.Поэтому я создал MyEntityRepository:
class MyEntityRepository:EFRepository<MyEntity>, IMyEntityRepository {
public void CloseCall(long callId) {
....
....
}
}
Но теперь я вынужден добавить новую строку для инициализации структуры карты.У меня много таких случаев, и количество строк в инициализации структуры карты становится все больше и больше.
Кроме того, в большинстве случаев это только добавление одного метода, но это добавление одного метода требует интерфейса для нового репозитория, реализации в новом файле и другой инициализации структуры карты - много работы для одного метода.
Как я могу решить это?
Я что-то не так делаю?
Может быть, лучше использовать метод расширения для репозитория (если есть такое расширение для универсального ..)?