SQL Server 2005数据库有一个表叫了一个名为XML类型的MessageXml列的消息。
C#使用Linq to Sql类的库项目,该类使用名为MessageXml的类型为XElement的字段生成名为Message的类。
WCF Webservice,公开一个MessagePayload类,其中包含一个名为MessageXml的XElement类型的属性。
Web服务不提供由Linq创建的消息类到Sql。我使用重量轻的物体作为之间的一部分。
问题
是真正的XElement我希望可以用我的WCF服务或是否有更好的类型的类型。打算传入服务的xml应该是完整的文档。另外,我在将Xml文档作为XElement加载时遇到了一些问题。我认为我应该在服务的轻量级类中公开一个完整的xml文档类型,但是我对XDocument和XmlDocument之间的区别感到困惑。
最重要的是,我不能公开带有XDocument类型属性的WCF Message类,因为它包含无法序列化的XDeclaration类型的属性。
如果我使用XmlDocument,而不是我必须在Linq类和轻量级类之间进行翻译时做这种奇怪的xml类型转换。
XmlDocument doc = new XmlDocument();
doc.LoadXml(message.MessageXml.ToString());
MessageEnvelope retVal = new MessageEnvelope()
{
MessageXml = doc,
};
的XmlDocument似乎是正确的,我知道我必须做一些翻译,但希望得到尽可能接近适合作为可能的。
-1:XML与字符串不同。不要用它来表示XML。 – 2009-07-27 03:25:18
我知道,这就是为什么你必须验证它在序列化转换前后... – marr75 2009-07-28 16:06:13