2011-10-26 3 views
0

Obtenir une erreur pris dans UpdateModelMVC3 UpdateModel - Définition de la propriété Id est pris en charge avec .NET 3.5

« Définition de la propriété Id est pris en charge uniquement avec 3.5+ .NET au cours de l'entité désérialisation » System.Exception {système. NotSupportedException}

public ActionResult Edit1(Guid id, ActivityResponseConsumerMobile arcm) { 
     if (!ModelState.IsValid) { 
      SetupDropDowns(); 
      return View(arcm); 
     } 

     ActivityResponseConsumerMobile arcmDb = uow.ActivityResponseConsumerMobiles.Single(a => a.Id == id); 
     try { 
      UpdateModel(arcmDb); 
     } 
     catch { 
      var x = ModelState; 
      return View(arcm); 
     } 

Windchill SO question: MVC2 throws InvalidOperationException in UpdateModel(), trying to update the id field

mais j'utilise l'objet au lieu de FormCollection. ORM que j'utilise est LightSpeed.

Répondre

0

Vous cherchez une bonne à ce jour avec la mise en une exclusion ..

UpdateModel(arcmDb, null, null, new[] {"Id"}); 

Il se trouve ce n'est pas un problème MVC comme j'eu le même problème en utilisant AutoMapper ailleurs dans l'application, et a dû exclure l'ID ici aussi.

Mapper.CreateMap<ActivityPushConsumerMobile, ActivityPushConsumerMobile>() 
           .ForMember(dest => dest.EntityState, opt => opt.Ignore()) 
           .ForMember(x => x.Id, y => y.Ignore()) 

Incertain quant à ce qui a changé depuis qu'il a fonctionné. Mise à jour possible de LightSpeed3 à 4. Et j'utilise le framework .NET4.

Questions connexes