2009-06-03 114 views
1

我必须将关系数据(文本,数字和图片)存储到XML文件中。我想维护数据和表结构之间的关系。将关系数据库存储为XML

我该如何去做呢?

我的Windows Mobile应用程序使用Windows Communication Foundation(WCF)来获取数据。一旦获得数据,它就会将它们存储到一个XML文件中。

WCF使用ADO.NET实体框架来检索数据。

我将使用SQL Server 2008的

的数据将被使用,以显示它的应用。我不想使用SQL Server CE来存储数据,因为它比较慢。也许,不使用XML文件,我可以使用文本纯文件来存储文本和数字,以及图像文件来存储图像。

简而言之,XML将是一种使用SQL Server CE或WCF存储数据的方式。

谢谢!

+0

您需要更清楚。你想在哪里转换为XML - 在服务中,还是在调用服务的应用程序中?服务是使用实体框架还是调用服务的应用程序?一旦将数据转换为XML,您将如何处理这些数据? – 2009-06-03 23:46:01

+0

我把更多的细节。 – VansFannel 2009-06-04 06:06:13

回答

1

感谢您的额外细节。

我的建议是先试试SQL Server CE。对于你正在做的事情,它可能并不会更慢。您不用重新发明轮子而节省的时间可能会更好地用于加速应用程序的其他部分。假设你不需要长时间存储数据,也不需要太多工作,我建议将数据从Web Service返回类型复制到DataSet中。DataSet类型有一个可以保存数据的WriteXml方法,以及一个可以读取数据的ReadXml方法。

0

您正在使用什么SQL Server?某些服务器允许您为查询请求XML响应。这可以为你节省很多工作。

编辑:既然你已经指定你将使用MSSQL 2008,你可能会很幸运。在MSSQL 2005和更高版本中,有一个“FOR XML”关键字,它允许您以XML形式获得结果。试一试。

+0

我打算使用SQL Server 2008. – VansFannel 2009-06-04 06:02:41

0

你是什么意思,“维护数据和表结构之间的关系”?您是否谈论的不仅仅是维护XML节点属性中的源数据库记录的ID?一旦拥有它,你需要怎样处理XML数据?它会被编辑,必须重新应用于数据库吗?

更多的问题比我的回答....抱歉。

1

数据集呢?定义表格和关系,将数据加载到数据集中,并将其保存为XML(WriteXml方法)

1

将您的XML格式定义为XSD。如果您使用Visual Studio,请使用添加新的DataSet,并且“自定义工具”将自动创建基于DataSet的强类型的一组类。您可以使用约束来定义表格和关系。在Visual Studio中很容易。如果您是Visual Studio厌恶,您可以手动创建XSD并使用xsd.exe生成您的代码。

一旦您拥有充满数据的强类型DataSet,就可以通过调用WriteXml将其序列化为XML流。

相关问题