Сначала я создал новый интерфейс репозитория для каждой из моих сущностей, например, IClientRepository.Затем я создал класс для каждой сущности, например, SqlClientRepository.Я сделал это для многих моих сущностей, а затем понял, что у них всех одинаковые методы: Add, Update, Delete, GetAll.
Итак, я понял, что, вероятно, мне следует просто создать один интерфейс, а не создавать отдельный для каждого.
Проблема в том, что теперь мое внедрение зависимостей не будет работать, поскольку я могу сопоставить интерфейс только одному репозиторию:
Bind<IClientRepository>().To<SqlClientsRepository>().WithConstructorArgument("connectionString", WebConfigurationManager.ConnectionStrings["MyDb"].ConnectionString);
Единственный обходной путь, который я вижу, - это объединить всеиз репозиториев или вернитесь к моей первой попытке.Использование первой попытки также позволило бы мне изменить типы возвращаемых данных для некоторых объектов, например, IClientRepository.Add () может вернуть идентификатор нового клиента, а некоторым другим объектам это может не понадобиться.
Оцените любые мысли.