0
  • Je vais avoir très peu de tables dans mon edmx (pas plus de 20)
  • Je vais avoir grande liste des procédures stockées (peut être plus 1k) dans mon edmx .
  • Version EF 5,0

Chaque fois que j'essaie de modèle ajouter/mise à jour de DB-il toujours jeter cette erreur, quelqu'un peut me aider avec ça?Une erreur est survenue alors que le modèle de production Entity Framework

Impossible de générer le modèle en raison de l'exception suivante: « System.Data.Entity.Core.EntityCommandExecutionException: Une erreur est survenue lors de l'exécution la définition de commande. Voir l'exception interne pour plus de détails. ---> System.Data.SqlClient.SqlException: La demande entrante a trop de paramètres. Le serveur prend en charge maximum de 2100 paramètres. Réduire le nombre de paramètres et renvoyer la demande. à System.Data.SqlClient.SqlConnection.OnError (exception SqlException, breakConnection booléen, Action 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) à système. Data.SqlClient.TdsParser.TryRun (runBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader DATASTREAM, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean & dataReady) à System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() à System.Data.SqlClient .SqlDataReader.get_MetaData() au System.Data.SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader ds, runBehavior runBehavior, String resetOptionsString) à System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (CommandBehavior cmdBehavior, runBehavior runBehavior, Boolean returnStream, Boolean async, Int32 temporisation, tâche Task &, Boolean asyncWrite, SqlDataReader ds) à System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, runBehavior runBehavior, méthode booléenne 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 c) à System.Data.Entity. Infrastructure.Interception.InternalDispatcher 1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func 3 opération, TInterceptionContext inter ceptionContext, action 3 executing, Action 3 exécutée) à System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader (commande DbCommand , DbCommandInterceptionContext interceptionContext) à System.Data.Entity.Internal.InterceptableDbCommand.ExecuteDbDataReader (CommandBehavior Comportement ) à System.Data.Common.DbCommand.ExecuteReader (comportement CommandBehavior)
à System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands (EntityCommand entityCommand, le comportement CommandBehavior) --- Fin d'exception interne

Répondre

0

Ce type d'erreur est généralement causé par de nombreux objets dans un modèle (comme cela est le cas avec toutes vos procédures) et Entity Framework n'est pas assez intelligent pour faire plusieurs aller-retour de base de données.

Vous pouvez trouver plus d'informations sur cette question: 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

Vous pouvez avoir raison, vous avez une autre option? –