繁体   English   中英

在实体框架6.1.2中解析XML结果

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM