可切换的XML和SQL后端

时间:2012-02-15 08:29:51

标签: c# .net sql-server xml entity-framework

我有一个架构问题,我们需要开发两个前端的信息系统:轻量级网络应用程序(ASP.NET)和桌面(WIN-FORMS)应用程序。到目前为止没什么特别的,但是这两个前端应该能够与两个共享和可切换(在应用程序重启后)数据库后端,一个SQL数据库(SQL服务器)和一个,最可能是某种XML存储(一个文件中的所有内容)进行通信就够了)。这两个商店不会同步。 这两个应用程序都非常简单,只有少数几种形式。

请问,是否有任何开箱即用的东西,例如在实体框架中,可以如上所述调整?

或者你会推荐什么样的建筑设计?

1 个答案:

答案 0 :(得分:2)

嗯。

您最好的选择是为数据存储库设置类库项目。

为其提供一个已知接口并使用工厂模式在运行时决定它是生成SQL实例还是XML实例。

Best拥有基于单例模式的存储库。

因此,您有Repository基础继承IRepositoryXMLRespositorySQLRepository继承自Repository

您的业务逻辑只是引用IRepsositoryRepository而不关心实际存在的内容(XMLRepositorySQLRepository)。

这类似于存储库模式

如果您想使用具有不同前端的相同业务逻辑并坚持使用ASP.NET Webforms和Winforms,那么我将对业务逻辑执行相同的操作,即将其置于< strong>类库并根据需要从ASP或Winform代码调用。