0
  • У меня очень мало таблиц в моей EDMX (не более 20)
  • У меня большой список хранимых процедур (может быть больше, чем 1k) в моем EDMX ,
  • EF версия 5,0

Всякий раз, когда я пытаюсь добавить модель/обновление из БД всегда бросить эту ошибку, может ли один помочь мне с этим?Произошла ошибка во время Entity Framework производящая модель

Невозможно создать модель из-за исключением следующего: «System.Data.Entity.Core.EntityCommandExecutionException: Ошибка произошла при выполнении определения команды. Подробнее см. Внутреннее исключение . ---> System.Data.SqlClient.SqlException: входящий запрос имеет слишком много параметров. Сервер поддерживает максимум 2100 параметров. Уменьшите количество параметров и отправьте запрос . в System.Data.SqlClient.SqlConnection.OnError (SqlException исключения, булевой breakConnection, действия 1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action 1 wrapCloseInAction) в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) в системы. Data.SqlClient.TdsParser.TryRun (runBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader DATASTREAM, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, булева & dataReady) при System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() в System.Data.SqlClient .SqlDataReader.get_MetaData() в System.Data.SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader DS, RunBehavior runBehavior, String resetOptionsString) на System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (CommandBehavior cmdBehavior, RunBehavior runBehavior, булева returnStream, булева асинхронными, Int32 тайм-аута, задача & задачи, булева asyncWrite, SqlDataReader DS) на System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, булева returnStream, String метод, TaskCompletionSource 1 completion, Int32 timeout, Task& task, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.<Reader>b__c(DbCommand t, DbCommandInterceptionContext
1 с) по System.Data.Entity. Infrastructure.Interception.InternalDispatcher 1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func 3 операция, TInterceptionContext inter ceptionContext, Действие 3 executing, Action-выполнено) в System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader (DbCommand команды, DbCommandInterceptionContext interceptionContext) при System.Data.Entity.Internal.InterceptableDbCommand.ExecuteDbDataReader (CommandBehavior поведения) в System.Data.Common.DbCommand.ExecuteReader (поведение CommandBehavior)
на System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands (entityCommand entityCommand, поведение CommandBehavior) --- Конец внутреннего исключения

ответ

0

Эта ошибка обычно вызвана множеством объектов в модели (так, как в случае со всеми вашими процедурами), и Entity Framework недостаточно умен, чтобы сделать несколько обращений по нескольким базам данных.

Вы можете найти более подробную информацию об этой проблеме: https://social.msdn.microsoft.com/Forums/en-US/aafb63c4-61df-4d8d-9373-df78d6f7d686/entity-framework-vs-2012-designer-fails-calling-spexecutesql-with-too-many-parameters-when-updating?forum=adodotnetentityframework

+0

Вы можете быть правы, вы имеете любой альтернативный вариант? –