所以在过去,我所使用的网站依赖于单层架构,它将数据访问直接与应用程序和视图代码混合在一起。我最近向团队说服了实施数据访问服务层(API)的优势;特别是最近有关水平扩展(本机移动应用程序等)的讨论。
现在想到的实现涉及使用Entity Framework
将数据库映射到客户端将使用Data Contract
服务请求的WCF
类。
我以前在较小的规模上使用过这种方法,但现在有大量数据对象的范围,每个数据对象都有许多标准可供查询,我在设想如何构建API时遇到了问题。
示例数据类列表:
(希望这些对象的相关方式非常明显,可以说明我的观点)
服务要求
这些数据对象中的每一个基本上都需要基于其中的几个列进行查询(以返回单个对象或集合)。虽然我可以为每个不同的场景编写一个新的API方法,但我认为必须有一个更优雅的方法来做到这一点。
示例请求:
在我的研究中,我遇到了这个MSDN Article,概述了几种创建API的标准方法。我有兴趣听取每种方法的优点和缺点,以及哪种方法似乎符合我上面描述的最佳模型。
答案 0 :(得分:1)
基本上有很多模式可以做到这一点。 UI Layer =>数据访问层=>核心层 EF用于DAL,模型和CORE中的逻辑。 Core声明了要使用的其他其他层的接口和模型。
对“存储库模式”单元工作模式进行一些阅读“控制反转可选附加。 如果您准备将50USD放在桌面上,http://Pluralsight.com上有一些优秀的视频教程可以引导您完成这些概念。甚至样品应用程序等.50USD在我看来(1个月订阅)。
我特别推荐Julie Lerman在EF和企业架构上的复制视频。 那里有一些很好的提示。
我使用这样的模式。而且效果很好。