Angularjs 安圭拉酒店;实体框架-创建关联而不复制实体
我正在使用Angular和EF,我正在尝试在客户端创建关联,将其发送到服务器,并更新数据库 我有2个实体、设备和事件。设备与事故有关 下面是一些代码:Angularjs 安圭拉酒店;实体框架-创建关联而不复制实体,angularjs,entity-framework,asp.net-web-api,entity,Angularjs,Entity Framework,Asp.net Web Api,Entity,我正在使用Angular和EF,我正在尝试在客户端创建关联,将其发送到服务器,并更新数据库 我有2个实体、设备和事件。设备与事故有关 下面是一些代码: //Returns an INCIDENT EF entity from db var incpromise = NewIncidentService.getRecordFromID(1); incpromise.then(function(pl) { var New4312 = {
//Returns an INCIDENT EF entity from db
var incpromise = NewIncidentService.getRecordFromID(1);
incpromise.then(function(pl) {
var New4312 = {
SNumber: $scope.SNumber,
INCIDENT: pl.data //SET THE ASSOCIATION
};
.......
New4312Service.post(New4312);
.....
New4312Service.post = function (New4312) {
var request = $http({
method: "post",
url: "/api/Equipment/PostEQUIPMENT",
data: New4312
});
return request;
};
以下是服务器上的web api方法:
[ResponseType(typeof(EQUIPMENT))]
public IHttpActionResult PostEQUIPMENT(EQUIPMENT eQUIPMENT)
{
/* if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}*/
db.EQUIPMENTs.Add(eQUIPMENT);
db.SaveChanges();
return Ok();
}
我遇到的问题是,每次我运行它时,EF都会复制数据库中的事件对象。我怎样才能使我的设备实体和事故实体之间的关联在每次创建新设备实体时都不会重复?谢谢。我通过确保设置实体的状态来修复它
_uow.UOWContext.Entry(eq).State = System.Data.Entity.EntityState.Modified;
被发布的实体的状态是“分离”的,所以我将其设置为“修改”,它可以完美地工作