Рамка объекта Вызов A для XML сохраненной процедуры укорений при 2033 символах

StackOverflow https://stackoverflow.com/questions/3228303

Вопрос

У меня есть сохраненная процедура, которая использует A для XML-оператора в конце этого и возвращает мне немного XML.

Я использую .NET 4 и структуру объекта и, когда я делаю функцию импорта этой сохраненной процедуры и попытается вызвать ее через структуру объекта, она усекает возврат при 2033 символах.

Я поменял в себя основу для традиционного подхода ADO.NET, чтобы вызвать хранимую процедуру, которая имела ту же проблему - усечена на 2033 символах - то есть когда я наткнулся на следующую статью MSDN, объясняющую это, это побочный дизайн и использовать Метод «ExecutexMLeader» для его преодоления:

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

Так что это работает сейчас как временное исправление, но я хотел бы использовать импорт функции структуры сущностей, поэтому у меня нет кода ADO.NET, перепутанный с кодом EF.

Есть ли какой-то способ, которым я могу использовать функцию импорта в EF, вернуть XML и преодолеть ограничение символов 2033?

С уважением

BGS264

Это было полезно?

Решение

Я столкнулся с такой же проблемой сегодня.

Вызов функции EF возвращает XML в 2033-длинных строковых «кусках» (например, если ваш XML был 5000 символов, вы получите 3 результата: 2 из 2033 символов и 1 из 934 символа)

Вы можете легко добавить эти кусочки, чтобы вернуть полный список XML.

Другие советы

Я усваивал ответ Фермина.Ответ на Dementic (и кто-либо еще), вот фрагмент кода.

Из этого:

using (var db = new MyEntities())
{
    IEnumerable<string> results = db.GetSomeXML(ProductCode);
    return results.FirstOrDefault();           
}
.

к этому:

using System.Text;      //For the StringBuilder

using (var db = new MyEntities())
{
    StringBuilder retval = new StringBuilder();

    IEnumerable<string> results = db.GetSomeXML(ProductCode);
    foreach (var result in results)
        retval.Append(result);

    return retval.ToString();           
}
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top