Добавление таблиц в модель Entity Framework приводит к ошибке «слишком много параметров» RPC - PullRequest
2 голосов
/ 01 ноября 2011

При обновлении модели EDMX из конструктора для добавления таблиц в большую базу данных в окне вывода возвращается ошибка:

Невозможно сгенерировать модель из-за следующего исключения: 'Anпроизошла ошибка при выполнении определения команды.Подробности см. Во внутреннем исключении.

Неверный поток протокола удаленного вызова процедур (RPC) потока входящих табличных данных (TDS).Слишком много параметров было предоставлено в этом запросе RPC.Максимум 2100. '.Загрузка метаданных из базы данных заняла 00: 00: 04.5149496.Генерация модели заняла 00: 00: 14.0108568.Невозможно сгенерировать модель из-за следующего исключения: «Произошла ошибка при выполнении определения команды.Смотрите внутреннее исключение для деталей.

Неверный поток протокола удаленного вызова процедур (RPC) входящего потока табличных данных (TDS).Слишком много параметров было предоставлено в этом запросе RPC.Максимум 2100. '.Загрузка метаданных из базы данных заняла 00: 00: 04.2847682.Генерация модели заняла 00: 00: 06.1297751.

Как обойти / решить эту проблему?

1 Ответ

2 голосов
/ 01 ноября 2011

Согласно поддержке Microsoft, это является результатом ограничения дизайна того, как разработчик различает список таблиц уже в модели и список таблиц в базе данных.

Существует три основных вариантаОбойти эту проблему:

  1. Создайте пользователя базы данных, у которого есть разрешение на просмотр только тех таблиц, которые необходимы для модели.

    Недостатками этого параметра является то, чтоправа пользователя должны быть сохранены, модель поддерживается (например, для каждой таблицы, добавленной в модель, «пользователю обслуживания модели» должны быть предоставлены права на просмотр таблицы) (обратите внимание, что после изменения пользователя в конфигурации соединения может потребоваться выйти из конструктораи / или VS, чтобы он вступил в силу)

  2. Разделение EDMX на несколько более мелких моделей

    В некоторых случаях это может улучшить производительность на больших моделях, но границыдолжны быть выбраны тщательно, чтобы избежать проблем с выбором из таблиц по моделям.

  3. Удаление таблиц из модели

    Как правило, это только вариант, когда в модели уже есть контекстуально ненужные таблицы.

...