将带有子级的Entity Framework对象序列化为XML文件
|
我正在使用Entity Framework查询带有父/子结果集的数据,并且希望将此数据导出到XML文档。
var agreement = storeops.Agreements.SingleOrDefault(a => a.AgreementNumber == AgreementTextBox.Text);
XmlSerializer serializer = new XmlSerializer(agreement.GetType());
XmlWriter writer = XmlWriter.Create(\"Agreement.xml\");
serializer.Serialize(writer, agreement);
除仅序列化父级而不在XML中包括相关子级记录外,此方法行之有效。我如何也可以让孩子们序列化?
我还尝试使用POCO生成的代码,并且子集合尝试进行序列化,除了它们是无法序列化的ICollections。
无法序列化类型为System.Collections.Generic.ICollection`1 [[DataSnapshots.AgreementItem,DataSnapshots,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]]的成员DataSnapshots.Agreement.AgreementItems,因为它是一个接口。
没有找到相关结果
已邀请:
2 个回复
凸晴
:
另外,实体框架默认情况下对1:许多关系使用延迟加载,并且如果在序列化时尚未加载被引用的对象,那么您将获得的只是引用它们的键。您必须通过调用
或在查询中使用
显式加载相关实体(其中
是相关实体集合的名称)。
傻零凰死授