【发布时间】:2011-11-21 18:41:49
【问题描述】:
感谢任何帮助。
我们目前正在改造一个遗留项目,该项目现在正走向一个难以维护的噩梦。因此,我们决定正确规范化数据结构并在使用存储库模式的 MVC 3 项目中使用 Entity Framework 4 Code First 开发。我们目前面临的问题是,出于安全原因,遗留应用程序托管在我们主要基础设施之外的服务器上 - 因此所有 CRUD 操作都是通过 Web 服务完成的,没有直接连接到 MS SQL 数据库的字符串。
我的“建议”解决方案是定义我的存储库合同,在开发过程中将直接连接到数据库,但一旦部署就不会连接(以后可能会有更改的余地)。那么,对我来说,提供两个适用于同一个合同的具体版本的存储库是否合理。一个使用 LINQ 执行 CRUD 操作(开发和可能的基础设施,我们可以稍后移动到)和另一个使用 SOAP 传递对象的版本(这意味着我的 POCO 需要定义为可序列化)并以这种方式执行 CRUD 操作?
这听起来可行还是有更好的方法来实现?
谢谢!
【问题讨论】:
-
只是为了澄清一些混淆,我已经读回了我自己的内容 - 具有直接连接字符串的存储库版本将由存储库的“其他”版本(SOAP 版本)使用。 SOAP 版本基本上只是对 LINQ 存储库进行服务调用的存根。
-
你也在开发服务吗?
-
是的,我们将负责开发整个事情。
标签: c# asp.net-mvc-3 soap entity-framework-4 repository