2016-04-27 44 views
0

我有一個代碼爲get方法創建api。表具有屬性名稱和電話號碼。如何使用實體框架和AngularJS更新和刪除數據並將數據添加到數據庫中的數據庫?

  public ActionResult List() 
    { 
     DLL.Models.MyDatabaseContext context = new DLL.Models.MyDatabaseContext(); 
     var contactlist = context.ContactNumberTables.ToList();    
     return Json(contactlist, JsonRequestBehavior.AllowGet); 
    } 

我該如何爲更新和刪除創建操作? 我應該更改哪些更改以獲取api?

+0

這是一個非常基本的問題,所以你應該看一看在這裏:http://www.asp.net/mvc/overview/getting-started/introduction/getting-started ...另外,對於angularJs你應該使用web api控制器,所以看看這裏:http://www.asp.net/single-page-application – Spluf

+0

這是太多了,我只是一個初學者,你提供,我提供了整個教程,而不是給出一個適當的鏈接。 –

+0

這是因爲你的問題的答案將是這些教程中的每一步,轉到他們每個人的入門,如果我記得正確,你有一個瑣事程序的例子,那就是你可以看到創建/更新/刪除控制器動作應該看起來像。 – Spluf

回答

1

這些步驟不基於Rest api,而是基於正常的MVC控制器。 保存到數據庫這樣的:

AngularJS

$http({ 
    url: 'baseurl/controller/Post', 
    method: 'POST', 
    data: data 
}).success(function(callback) {}); 

控制器

//Call this method as POST method 
[HttpPost] 
public ActionResult Post(ContactNumberTable numberTable) 
{ 
    //Please use the below line globally 
    DLL.Models.MyDatabaseContext context = new DLL.Models.MyDatabaseContext(); 
    context.ContactNumberTables.Add(numberTable); 
    context.SaveChanges(); 
}   

那怎麼需要更新數據:

AngularJS

$http({ 
    url: 'baseurl/controller/Update', 
    method: 'PUT', 
    data: data 
}).success(function(callback) {}); 

控制器

//Call this method as HttpPut or HttpPost 
[HttpPut] 
public ActionResult Update(ContactNumberTable numberTable) 
{ 
    DLL.Models.MyDatabaseContext context = new DLL.Models.MyDatabaseContext(); 
    var existingTableNumber = context.ContactNumberTables.Find(numberTable.ContactNumberTableID); //Primary key 
    existingTableNumber.UpdateField1 = numberTable.UpdateField1; //Assign all the properties which you want to update 
    context.SaveChanges(); 
} 

這就是我們需要刪除的數據:

AngularJS

$http({ 
    url: 'baseurl/controller/Delete/' + id, 
    method: 'DELETE', 
}).success(function(callback) {});  

控制器

//Call this method as HttpDelete like yoururl/Controller/Delete/1 
[HttpDelete] 
public ActionResult Delete(int id) 
{ 
    var numberTable = DLL.Models.MyDatabaseContext context = new DLL.Models.MyDatabaseContext(); 
    context.ContactNumberTables.Remove(numberTable); 
    context.SaveChanges(); 
}