获取UpdateModel中的错误
“在实体反序列化期间仅支持.NET 3.5+设置Id属性”System.Exception {System.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 throws InvalidOperationException in UpdateModel(), trying to update the id field
但我正在使用该对象而不是FormCollection。我正在使用的ORM是LightSpeed。
答案 0 :(得分:0)
到目前为止看起来很好并且排除了..
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.我正在使用.NET4框架。