次のコードで特定の部分を更新しようとしています:
var nationalPart = _contentManager.Get<NationalPart>(Id);
nationalPart.Name = part.Name;
私はすでにこれを行っていますが、今は機能しcontentManager.Flush()
ていません。明示的に呼び出しても、まだ運がありません。誰でもこれで私を助けることができますか?前もって感謝します。
編集:私は私の問題がどこから来たのかを見つけました!contentPart を更新する JSON リクエストを作成すると、メモリ内のバージョンは更新されますが、結果が db に反映されません。これで、回答に一歩近づきました。しかし、セッションが db を更新するのを妨げているのは何ですか?
EDIT2:
これは私のハンドラのコードです:
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();
}