簡體   English   中英

SQL XML 數據類型等效於 C# Z2D50972FECD3761295945507F10620

[英]SQL XML datatype equivalent in C# .net

我目前正在從 XML 文件中解析數據,並將它們存儲到數據庫的 nvarchar 字段中。 我現在希望將 NVarchar 更改為 XML。 我在 EF Core 上使用 Code First 方法,C# .net 中的 XML 等效數據類型是什么?

以前的一些查詢表明我可以使用字符串( C# 等效於 SQL Server DataTypes ),但有些人提出了其他建議( httpsNET/framework/microsoft.數據類型映射?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;

我會避免直接使用字符串——尤其是在你只需要存儲數據的情況下。 go 與SqlXml或其他給讀者的東西。 例如像這樣:

var param = cmd.Parameters.Add("@xml", SqlDbType.Xml);
var doc = XDocument.Load(xmlFilePath);
param.Value = doc.CreateReader();
cmd.ExecuteNonQuery();

(連接和命令 object 省略)。

這里的重要建議是不要自己使用字符串 object,但正如您已經發現的那樣,ymmv ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM