AngularJS & Entity Framework - 创建关联而不复制实体

AngularJS & Entity Framework - Creating association without duplicating entity

我正在使用 Angular 和 EF,我正在尝试在客户端创建关联,将其发送到服务器,并更新数据库。

我有 2 个实体,设备和事件。 EQUIPMENT 与 INCIDENT 有关联。

这是一些代码:

//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;

正在发布的实体的状态是 "Detached",所以我将其设置为已修改并且它运行良好。