Nhibernate 已删除对象按级联重新保存-自引用表
我得到以下错误: “已删除的对象将通过级联重新保存(从关联中删除已删除的对象)” 我已将整个ajax调用裁剪为以下内容:Nhibernate 已删除对象按级联重新保存-自引用表,nhibernate,fluent-nhibernate,fluent-nhibernate-mapping,ncommon,Nhibernate,Fluent Nhibernate,Fluent Nhibernate Mapping,Ncommon,我得到以下错误: “已删除的对象将通过级联重新保存(从关联中删除已删除的对象)” 我已将整个ajax调用裁剪为以下内容: [HttpPost] [UnitOfWork(Scope = FilterScope.Result)] public ActionResult SaveEditMode(long id, AddTrackedRowViewModel model, string editMode, List<string> elementNames, str
[HttpPost]
[UnitOfWork(Scope = FilterScope.Result)]
public ActionResult SaveEditMode(long id, AddTrackedRowViewModel model, string editMode, List<string> elementNames, string provisionData)
{
var cell = _supplementCoordinator.GetSupplement(id).TrackedTables.First(x => x.Name == model.Name).TrackedRows.First(x => x.Ordinal == model.Ordinal).TrackedCells.First(x => x.Name == "Detail");
_supplementCoordinator.RemoveChildren(cell);
return Json( new {Success = true});
}
public bool RemoveChildren(TrackedNode parentNode)
{
foreach (TrackedField trackedField in parentNode.ChildNodes)
{
_trackedFieldRepository.Delete(trackedField);
}
return true;
}
只需从父集合中删除子节点,如错误所示:
public bool RemoveChildren(TrackedNode parentNode)
{
foreach (TrackedField trackedField in new List<TrackField>(parentNode.ChildNodes))
{
_trackedFieldRepository.Delete(trackedField);
_parentNode.Remove(trackField);
}
return true;
}
public bool RemoveChildren(TrackedNode parentNode)
{
foreach(TrackedField新列表中的TrackedField(parentNode.ChildNodes))
{
_trackedFieldRepository.Delete(trackedField);
_parentNode.Remove(trackField);
}
返回true;
}
是的。新鲜的眼睛。谢谢
public bool RemoveChildren(TrackedNode parentNode)
{
foreach (TrackedField trackedField in new List<TrackField>(parentNode.ChildNodes))
{
_trackedFieldRepository.Delete(trackedField);
_parentNode.Remove(trackField);
}
return true;
}