我正在尝试使用以下代码更新特定部分:
var nationalPart = _contentManager.Get<NationalPart>(Id);
nationalPart.Name = part.Name;
我已经这样做了。但现在它不起作用。即使我contentManager.Flush()
明确地打电话,但仍然没有运气。谁能帮我这个?提前致谢。
编辑:我发现我的问题来自哪里!当我发出更新 contentPart 的 JSON 请求时。内存中的版本正在更新,但它没有将结果反映到 db。现在我们离答案更近了一步。但是是什么阻止了会话更新 db?
编辑2:
这是我的处理程序的代码:
public NationalPartHandler(IRepository<NationalPartRecord> repository)
{
Filters.Add(StorageFilter.For(repository));
}
这是控制器动作的代码:
[GridAction(EnableCustomBinding = true)]
public JsonResult UpdateNational(NationalViewModel Model, GridCommand Command)
{
if (!ModelState.IsValid)
return new JsonResult { Data = "error" };
var NationalPart = _contentmanager.Get(Model.Id).As<NationalPart>();
NationalPart.Record = new NationalPartRecord();
NationalPart.Record.MapFrom<NationalPartRecord, NationalViewModel>(Model);
_soccerService.UpdateNational(NationalPart);
return NationalsListJson(Command);
}
最后是服务代码:
public void UpdateNational(NationalPart part)
{
var nationalPart = _contentManager.Get<NationalPart>(part.Id);
nationalPart.Name = part.Name;
_contentManager.Flush();
}