我有一个存储过程,该存储过程在其末尾使用FOR XML语句,并向我返回一些XML。
我正在使用.NET 4和Entity Framework,当我对该存储过程进行函数导入并尝试通过Entity Framework调用它时,它将截断2033个字符的返回值。
我将 Entity Framework 替换为传统的ADO.NET方法,以调用存在相同问题的存储过程-在2033个字符处被截断-这是在我遇到以下MSDN文章时解释的,这是设计使然,并使用“ExecuteXMLReader克服它的方法:
http://support.microsoft.com/kb/310378
因此,这现在作为临时修复程序起作用,但是我想使用Entity Framework函数导入,因此我没有将ADO.NET代码与EF代码混合在一起。
有什么方法可以在EF中使用函数导入,返回XML并克服2033年字符限制?
问候
bgs264
最佳答案
我今天遇到了同样的问题。
EF函数调用以2033个长字符串'chunks'返回XML(例如,如果您的XML长度为5000个字符,您将收到3个结果:2033个字符中的2个和934个字符中的1个)
您可以轻松地附加这些块以返回XML的完整列表。