10

最後に FOR XML ステートメントを使用するストアド プロシージャがあり、XML を返します。

私は .NET 4 と Entity Framework を使用しています。このストアド プロシージャの関数インポートを実行し、Entity Framework を介して呼び出そうとすると、戻り値が 2033 文字で切り捨てられます。

Entity Framework を従来の ADO.NET アプローチに置き換えて、同じ問題 (2033 文字で切り捨てられた) を持つストアド プロシージャを呼び出すようにしました。これは、これが設計によるものであり、「ExecuteXMLReader " それを克服する方法:

http://support.microsoft.com/kb/310378

これは現在、一時的な修正として機能していますが、Entity Framework 関数のインポートを使用したいので、ADO.NET コードと EF コードが混在していません。

EF で関数のインポートを使用し、XML を返し、2033 文字の制限を克服する方法はありますか?

よろしく
bgs264

4

2 に答える 2

11

私は今日同じ問題に遭遇しました。

EF関数呼び出しは、2033文字の長さの文字列「チャンク」でXMLを返します(たとえば、XMLの長さが5000文字の場合、2033文字のうち2文字と934文字のうち1文字の3つの結果を受け取ります)

これらのチャンクを簡単に追加して、XMLの完全なリストを返すことができます。

于 2010-07-20T10:59:07.697 に答える