首先我决定创建一个名为它的接口IDataAccessLayer
并开始将所有内容放入其中:类似的方法GetUsers()
, GetUser(int id)
, GetOrderByNumber(int number)
, DeleteOrder(int Id)
etc.
起初效果非常完美。但后来我意识到具体的实现DataLayer:IDataLayer
正在变大。我决定将其切成几个部分类文件。但我仍然觉得我做错了什么。
然后我决定为每个逻辑部分创建接口,例如IUsers
, IOrders
, IItems
不起作用,因为我是通过注入控制器构造函数的一个依赖属性来访问存储库的。因此,每次我需要在控制器中使用不同类型的 dataContext 时,我不能只是添加另一个属性。
然后,经过几个小时阅读有关实体框架的文章后,我终于意识到我必须使用存储库 and 工作单位模式。我仍然需要以某种方式将 POCO 与 ViewModel 对象分开,尽管它们几乎总是有相似之处。自动映射器有很大帮助。但现在,我不确定如何一起使用所有内容。实体框架、模式、自动映射器和依赖注入框架(如 Ninject)。
我不清楚如何将所有这些混合到一个很棒的架构中。你能给我展示一些很好的例子吗?
你可以看看这个样本(MVCArch)我几个月前就写过。
它具有以下优点:
- 实体框架
- 存储库和工作单元模式
- 自动映射器
- Ninject
- etc...
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)