[英]Parse XML Result in Entity Framework 6.1.2
我試圖解析從作為XML返回的SQL Server的結果(在查詢中使用FOR XML
)。
我有一個.EDMX
文件,它將存儲過程映射到一個復雜類型(有一列:Name = XML_F52E2B61-18A1-11d1-B105-00805F49916B,EDMType = String,Db Type = ntext,Nullable = true,MaxLength = Max)。
當我調用存儲過程時,結果類型是:
ObjectResult<"ResultName">
當我嘗試將其寫入控制台時,我收到一條錯誤消息
數據讀取器與指定的“ResultName”不兼容。 類型為“XML_F52E2B61_18A1_11d1_B105_00805F49916B”的成員在數據讀取器中沒有相應的具有相同名稱的列。
因此,因為我使用復雜類型收到錯誤消息,所以我決定嘗試將結果更改為標量:字符串。
我現在在輸出窗口中獲得的內容(使用System.Diagnostics.Debug.WriteLine("objectName")
)是:
(System.Data.Entity.Core.Objects.ObjectResult`1[System.String])
如果我嘗試對結果做任何事情,我會收到錯誤消息,如果我foreach或結束它我得到一個錯誤
從物化的“System.Int32”類型到“System.String”類型的指定強制轉換無效
這到底是什么意思? (事實上,如果我只對返回的對象執行.Count()
,我會得到相同的錯誤消息)
所以我想我最緊迫的問題是:我如何通過存儲過程從SQL Server獲取XML結果?
注意 :我不是在談論數據庫中的XML列,我在談論將查詢結果作為XML返回。
任何幫助將不勝感激。
謝謝,
蒂姆
對於那些感興趣的人,這個問題與我正在處理的4個不同的SQL Server實例(Local,Dev,Stage,Prod)有關,我使用了不正確的實例來獲取這些信息。
我創建了一個返回XML的存儲過程,我將其添加到Local實例,然后當我運行我的測試應用程序時,我期待Dev獲取信息。 由於存儲過程不存在,我收到錯誤。 很抱歉這個長期的問題最終被注意到但是我犯了一個錯誤。
衛生署。
謝謝,T
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.