【发布时间】:2019-09-30 11:32:54
【问题描述】:
我目前正在从 XML 文件中解析数据并将它们存储到数据库的 nvarchar 字段中。我现在希望将 NVarchar 更改为 XML。我在 EF Core 上使用 Code First 方法,C# .net 中的 XML 等效数据类型是什么?
之前的一些查询表明我可以使用字符串 (C# Equivalent of SQL Server DataTypes),但有些则建议使用其他内容 (https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql-server-data-type-mappings?redirectedfrom=MSDN)。
我希望澄清在我不处理 XML 内容的情况下,我的查询的最佳方法是什么,我只是解析一个文件并将数据插入到数据库中。
更新:
我最终在 C# .net 上使用了一个字符串,因为我不必进行任何 Xml 操作,我从一个文件中复制了数据并将其作为字符串发送过来。以下是我使用的代码:
var doc = new XmlDocument();
doc.Load(file.FullName);
if (doc.FirstChild.NodeType == XmlNodeType.XmlDeclaration)
{
XmlDeclaration xmlDeclaration = (XmlDeclaration)doc.FirstChild;
if (String.Compare(xmlDeclaration.Encoding, Encoding.Unicode.WebName, StringComparison.OrdinalIgnoreCase) != 0)
{
xmlDeclaration.Encoding = Encoding.Unicode.WebName;
}
}
string XmlString = doc.OuterXml;
【问题讨论】:
-
数据上下文自动将XML映射到
XElement