【发布时间】:2011-04-12 08:38:05
【问题描述】:
我面临着编写对象持久性机制的挑战,该机制将序列化/反序列化为 SQL 数据库和 XML 文件。
为了便于说明,假设我有一个具有单个根对象的对象图。例如,可能是一棵“树”,它有各种各样的子对象——树叶、树枝、坚果、松鼠、鸟类等等。
我需要一个架构的建议,该架构可以在从文件和/或数据库加载和保存“树”之间无缝移动。它需要能够从文件中加载“树”并将其保存到数据库中,或者相反。
我目前正在使用 Entity Framework 来实现我的 SQL 持久性,对此我很满意。对于 XML,我使用的是 XDocument,我也非常喜欢它,但我想知道是否没有一些框架已经完成了所有这些工作。
【问题讨论】:
-
在 SQL Server 中使用 XML 列有什么问题?
-
我应该注意到这是一个项目的结尾。最初的规范仅针对 SQL 持久性,并且在这条道路上已经完成了大量工作; SQL 持久性工作正常。现在添加了一项要求,即能够将同一组实体加载/保存到文件中,同时仍保持 SQL 功能。我试图在不对现有工作进行大规模重新设计的情况下满足这一要求。
-
xml 文件格式是必需的吗?与 Fatal 提到的类似,您可以使用基于私有文件的 Sql Server Compact 部署,它只是一个基于本地文件的数据库(不需要安装或任何东西)。您将使用 EF 与之交互,因此它对您的应用程序的影响最小。几乎就像将上下文与不同的连接字符串一起使用一样简单。
标签: c#