在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框架。