Asp.net mvc 实体框架中的层次模型更新
我有两个模型课: 请求:Asp.net mvc 实体框架中的层次模型更新,asp.net-mvc,entity-framework,entity-framework-6,Asp.net Mvc,Entity Framework,Entity Framework 6,我有两个模型课: 请求: public partial class Request { public long Id { get; set; } public string Username { get; set; } public string Description { get; set; } public System.DateTime CreateDate { get; set; } public long DeviceId { get; set;
public partial class Request
{
public long Id { get; set; }
public string Username { get; set; }
public string Description { get; set; }
public System.DateTime CreateDate { get; set; }
public long DeviceId { get; set; }
public bool IsFinalized { get; set; }
public Nullable<long> ParentId { get; set; }
public virtual Device Device { get; set; }
}
公共部分类请求
{
公共长Id{get;set;}
公共字符串用户名{get;set;}
公共字符串说明{get;set;}
public System.DateTime CreateDate{get;set;}
公共长设备ID{get;set;}
公共bool已完成{get;set;}
公共可为空的ParentId{get;set;}
公共虚拟设备{get;set;}
}
设备:
public partial class Device
{
public Device()
{
this.Requests = new List<Request>();
}
public long Id { get; set; }
public string Serial { get; set; }
public string AssetNumber { get; set; }
public System.DateTime CreatedDate { get; set; }
public virtual ICollection<Request> Requests { get; set; }
}
公共部分类设备
{
公共设备()
{
this.Requests=newlist();
}
公共长Id{get;set;}
公共字符串序列{get;set;}
公共字符串AssetNumber{get;set;}
public System.DateTime CreatedDate{get;set;}
公共虚拟ICollection请求{get;set;}
}
我必须用这种方法更新模型
public void Update(RequestViewModel viewModel)
{
var entity = _mappingEngine.Map<Request>(viewModel);
_requests.Attach(entity);
_uow.Entry(entity).State = EntityState.Modified;
}
public void更新(RequestViewModel-viewModel)
{
var entity=_mappingEngine.Map(viewModel);
_请求。附上(实体);
_uow.Entry(entity).State=EntityState.Modified;
}
但调用
Update
方法后,仅更新Request
模型。我想更新这两个模型。请帮助我。将实体附加到DbContext
,标记附加的实体及其所有依赖项(即关联实体)未更改
。因此,您必须告诉EF
哪些实体是新的,哪些实体被修改。将实体附加到DbContext
,标记附加的实体及其所有依赖项(即关联实体)未更改。因此,您必须告诉EF
哪些实体是新的,哪些实体被修改了。尝试此解决方案:尝试此解决方案: