C# 将XmlSerializer与XML字段和LinqToSQL一起使用的最佳方法?
可以让LinqToSql使用XmlSerializer将类型化XML字段反序列化为C对象吗 目前我有以下代码:注意,我必须使用XElement.ToString才能使用XmlSerializerC# 将XmlSerializer与XML字段和LinqToSQL一起使用的最佳方法?,c#,sql,xml,linq-to-sql,C#,Sql,Xml,Linq To Sql,可以让LinqToSql使用XmlSerializer将类型化XML字段反序列化为C对象吗 目前我有以下代码:注意,我必须使用XElement.ToString才能使用XmlSerializer protected static T Deserialize<T>(string xmlString) where T : class { var xmlSerializer = new XmlSerializer(typeof(T)); va
protected static T Deserialize<T>(string xmlString) where T : class
{
var xmlSerializer = new XmlSerializer(typeof(T));
var obj = xmlSerializer.Deserialize(new StringReader(xmlString));
return (T)obj;
}
//...
{
return ATable.Select(x => Deserializer<AContentType>(x.Content.ToString()));
// x.Content is an XElement
// AContentType is a class that can be used by XmlSerializer to deserialize
// The class was generated using xsd.exe
}
如果我不能让LinqToSql使用XmlSerializer,我至少可以让它返回一个字符串而不是XElement吗
顺便说一句,欢迎您考虑如何改进反序列化功能。不,我不认为您可以-您可以从SQL Server返回一个XML字段作为字符串,然后对其进行任何手动处理-包括使用Linq解析为XML 但我不知道Linq to SQL有任何内置的功能可以将XML字段反序列化为对象——如果SQL Server中没有XML模式,它会怎么做?SQL Server中既可以有类型化的XML字段,也可以有非类型化的XML字段,而不受任何架构限制
Marc你能发布一个代码示例吗?你想反序列化到什么,一个XElement?