2009-11-17 21 views
0

我有一个WPF应用程序,通过WCF紧密耦合到linq2sql。现在事实证明,客户希望使用xml文件结构的某种离线模式。C#:序列化linq2sql实体到XML与子节点

可以说我有一个客户表,每个客户将有许多订单,每个订单只属于一个客户,所以在我的表设计中,我的Orders表中有一个fk_CustId列。

我想知道是否有序列化Customer实例(Linq2sql实体)的任何直接模式,以便它会自动将Order Child节点包含在xml中。

任何帮助,将不胜感激。

回答

1

我不确定“紧密结合”是什么意思。如果您使用Linq2Sql来填充服务中的数据合约,那么当它们到达客户端时,它们不再是“活的”Linq2Sql对象,而是简单的简单数据传输对象。

换句话说,您可以完全控制您选择从服务发送到数据合同类中的客户端的内容。只需修改您的数据合同类即可发送您想要发送的内容。

+0

我的意思是,因为它们是生成类,所以我无法控制它们的结构。例如,如果客户包含列表,那么我将不会遇到任何问题,因为这会以令人满意的方式进行序列化。 – RekrowYnapmoc 2009-11-17 14:27:03

+1

编写服务的最佳做法是将数据合同类从数据访问层类中分离出来,然后手动复制数据。我知道这似乎是不必要的工作,但当数据合同类或数据访问层类发生更改时,您不会后悔。 – 2009-11-17 15:16:16