public ActionResult SaveAs(string navTabId,string itemId)
{
var entity = new UnitOfWork().LinkOnLineRepository.GetEntityByKey(new Guid(itemId));
if(entity!=null)
{
entity.CoLinkOnLineId = ZdSoft.Framework.Common.NewGuid.NewComb();
_unitOfWork.LinkOnLineRepository.Add(entity);
_unitOfWork.Save();
}
return Failure(navTabId, "原记录不存在");
}
比如我传入一个itemId, 查询出这条记录,然后仅修改主健再作保存。
会报
属性“CoLinkOnLineId”是对象的键信息的一部分,不能修改。 CoLinkOnLineId 是主键
简单的可以理解为我查询出记录,修改主键,怎么保存
实现代码是 修改Context 的状态为添加,再修改id,注意顺序不能反。最后保存 修改状态的代码用红色标示。
_unitOfWork.Context.ObjectStateManager.ChangeObjectState(entity, EntityState.Added);
entity.CoLinkOnLineId = ZdSoft.Framework.Common.NewGuid.NewComb();
_unitOfWork.LinkOnLineRepository.Add(entity);
_unitOfWork.Save();
把 对象 状态修改为添加 而不是修改
数据另存为???
你可以把原来的先删掉,再保存现有地