Что вызывает ошибку «Элемент с таким ключом уже добавлен» и как ее исправить?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Что вызывает ошибку «Элемент с таким ключом уже добавлен» и как ее исправить?

Сообщение Anonymous »

Когда я ввожу учетную запись клиента и нажимаю сохранить, появляется сообщение. Вот что показывает: HttpPost, установите USUARIO > Элемент с таким же ключом уже добавлен. Но этого не происходит, когда я экономлю в продуктовом секторе.
Я не знаю, что делать, может мне кто-нибудь объяснить? Я пришлю несколько примеров кодов, которые должны были работать на сайте.

Код: Выделить всё

System.ArgumentException: Já foi adicionado um item com a mesma chave.
em System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
em System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
em System.Collections.Generic.CollectionExtensions.ToDictionaryFast[TKey,TValue](TValue[] array, Func`2 keySelector, IEqualityComparer`1 comparer)
em System.Web.Mvc.ModelBindingContext.get_PropertyMetadata()
em System.Web.Mvc.DefaultModelBinder.BindProperty(ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor)
em System.Web.Mvc.DefaultModelBinder.BindProperties(ControllerContext controllerContext, ModelBindingContext bindingContext)
em System.Web.Mvc.DefaultModelBinder.BindComplexElementalModel(ControllerContext controllerContext, ModelBindingContext bindingContext, Object model)
em System.Web.Mvc.DefaultModelBinder.BindComplexModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
em System.Web.Mvc.DefaultModelBinder.GetPropertyValue(ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor, IModelBinder propertyBinder)
em System.Web.Mvc.DefaultModelBinder.BindProperty(ControllerContext controllerContext, ModelBindingContext bindingContext, PropertyDescriptor propertyDescriptor)
em System.Web.Mvc.DefaultModelBinder.BindProperties(ControllerContext controllerContext, ModelBindingContext bindingContext)
em System.Web.Mvc.DefaultModelBinder.BindComplexElementalModel(ControllerContext controllerContext, ModelBindingContext bindingContext, Object model)
em System.Web.Mvc.DefaultModelBinder.BindComplexModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
em System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor)
em System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor)
em System.Web.Mvc.Async.AsyncControllerActionInvoker.c__DisplayClass3_1.b__0(AsyncCallback asyncCallback, Object asyncState)
em System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout)
em System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext, String actionName, AsyncCallback callback, Object state)
em System.Web.Mvc.Controller.c.b__152_0(AsyncCallback asyncCallback, Object asyncState, ExecuteCoreState innerState)
em System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallBeginDelegate(AsyncCallback callback, Object callbackState)
em System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout)
em System.Web.Mvc.Controller.BeginExecuteCore(AsyncCallback callback, Object state)
em System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout)
em System.Web.Mvc.Controller.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state)
em System.Web.Mvc.MvcHandler.c.b__20_0(AsyncCallback asyncCallback, Object asyncState, ProcessRequestState innerState)
em System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallBeginDelegate(AsyncCallback callback, Object callbackState)
em System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout)
em System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
em System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
em System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
em System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
  • C# 7.0
  • NET Framework — 4.8.1
  • EntityFramework — 6.4.4
  • EntityFramework.SqlServer — 6.4.4
  • EntityFramework.Firebird — 5.12.1
  • EntityFramework.6.4.4\lib\net45.dll
  • EntityFramework.Firebird.5.12.1\lib\net452.dll
  • EntityFramework.6.4. 4\lib\net45\EntityFramework.SqlServer.dll

Код: Выделить всё

public partial class PRODUTOS :                 IIDGenerator, ICreateID
public partial class USUARIOS : INewRecordData, IIDGenerator, ICreateID
public partial class CLIENTES : INewRecordData, IIDGenerator, ICreateID
Пожалуйста, покажите мне, какой код правильный, а какой неправильный. Я считаю, что продуктовые правы, а клиент не прав. Даже оба похожи.

Код: Выделить всё

[HttpPost]
[McMenu(Description = "Edição de registro",
LargeDescription = "Tela para a edição do registro apontado no banco de dados.")]
public virtual ActionResult Edit(T data, string HowToSave)
{
if (HowToSave.IndexOf("/") != -1)
return RedirectToAction("Index");
Код продукта правильный

Код: Выделить всё

[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Column("LIVRO")]
[UIHint("IntTemplate")]
[Display(Name = "Cód. Prod.")]
public int PRODUTO { get; set; }
Код клиента неправильный

Код: Выделить всё

[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[UIHint("IntTemplate")]
[Display(Name = "ID Usuário")]
public int USUARIO { get; set; }

Код: Выделить всё

Entrada: percorrendo a propriedade 'McSoft.Dados.Modelos.CF.USUARIOS.set_USUARIO'.
Para entrar em propriedades ou operadores, acesse Ferramentas->Opções->Depuração e desmarque 'Passar por propriedades e operadores (Somente gerenciados)'.

Entrada: percorrendo a propriedade 'McSoft.Dados.Modelos.CF.USUARIOS.get_NOME_USUARIO'.
Para entrar em propriedades ou operadores, acesse Ferramentas->Opções->Depuração e desmarque 'Passar por propriedades e operadores (Somente gerenciados)'.

Entrada: percorrendo a propriedade 'McSoft.Dados.Modelos.CF.CLIENTES.get_CLIENTE'.
Para entrar em propriedades ou operadores, acesse Ferramentas->Opções->Depuração e desmarque 'Passar por propriedades e operadores (Somente gerenciados)'.
Я попробовал изменить коды и подумал, что это поможет решить мою проблему.


Подробнее здесь: https://stackoverflow.com/questions/786 ... and-how-do
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Что вызывает ошибку «Элемент с таким ключом уже добавлен» и как ее исправить?
    Anonymous » » в форуме C#
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Что вызывает ошибку «Элемент с таким ключом уже добавлен» и как ее исправить?
    Anonymous » » в форуме C#
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Что вызывает ошибку «Элемент с таким ключом уже добавлен» и как ее исправить?
    Anonymous » » в форуме C#
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Что вызывает ошибку «Элемент с таким ключом уже добавлен» и как ее исправить?
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • «Элемент с таким же ключом уже был добавлен при создании базы данных из модели...» (VS C# MVC)
    Anonymous » » в форуме C#
    0 Ответы
    56 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»