MVC3 UpdateModel -设置Id属性只支持.net 3.5



在UpdateModel中捕获错误

"在实体反序列化期间,只支持。net 3.5+设置Id属性"系统。异常{系统。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);
        }

感觉像SO问题:MVC2抛出InvalidOperationException在UpdateModel(),试图更新id字段

,但我使用的对象而不是FormCollection。我使用的ORM是光速

添加排除符到目前为止看起来不错…

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

事实证明这不是MVC问题,因为我在应用程序的其他地方使用AutoMapper也有同样的问题,并且不得不排除ID。

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

不确定自它工作以来发生了什么变化。可能从LightSpeed3升级到4。我使用。net框架。

相关内容

  • 没有找到相关文章

最新更新