【发布时间】:2011-04-05 21:53:39
【问题描述】:
我首先为我的每个实体创建了一个新的存储库接口,例如IClient 存储库。然后我为每个实体创建了一个类,例如SqlClient 存储库。我对我的很多实体都这样做了,然后意识到它们都有相同的方法:添加、更新、删除、GetAll。
所以我意识到我应该只制作一个界面,而不是为每个界面制作一个单独的界面。
问题是现在我的依赖注入不起作用,因为我只能将接口映射到一个存储库:
Bind<IClientRepository>().To<SqlClientsRepository>().WithConstructorArgument("connectionString", WebConfigurationManager.ConnectionStrings["MyDb"].ConnectionString);
我能看到的唯一解决方法是合并所有存储库或返回我的第一次尝试。使用第一次尝试还可以让我更改某些实体的返回类型,例如IClientRepository.Add() 可以返回新客户端的 id,而其他一些实体可能不需要它。
欣赏任何想法。
【问题讨论】:
标签: c# repository-pattern design-patterns