2014-03-28 33 views
2

我想將整個對象傳遞給我的API的刪除方法,並且執行永遠不會達到它。Web API DELETE動詞

客戶端(角)

$http({ 
         method: 'DELETE', 
         url: framewidth + "codebook/DeleteSection/", 
         data: $scope.codesection 
        }) 

服務器(Web API 2)

[HttpDelete] 
    public int DeleteSection(Domain.Code.CodeSection section) 
    { 
    // repo.Delete(Mapper.Map<EF.Code.CodeSection>(section)); 

     return (section.Id); 
    } 

完全相同的一組了,但與郵政工作,該做的創建操作的方法。 是否不可能通過DELETE動詞請求傳遞整個對象?

謝謝!

回答

2

爲什麼在刪除時傳遞整個對象?只傳遞id。 read related question

public int DeleteSection(int id) 
{ 
    var c = new Domain.Code.CodeSection(){ Id = id}; 
    db.Entry(c).State= EntityState.Deleted; 
    db.SaveChanges(); 
    return id; 
} 

ref

+0

這就是我原本。但是我在後端使用實體框架,所以爲了刪除一個實體,我首先必須刪除一個實體。如果我只通過ID,我將不得不讓EF首先運行一個SELECT來查找要刪除的實體。這看起來並不是最有效的方式。 – americanslon

+0

@americanslon查看更新的答案 – karaxuna

+0

Ooo很好,我會用它。這就是我原本想的,但不知道如何在EF世界中完成。謝謝! – americanslon

相關問題