2012-08-28 35 views
-1

我有兩個表,我有一個按鈕控件,當我點擊按鈕時,table2中的記錄添加到table1,並且該記錄必須在table2中刪除。 我寫了像如何在一次添加查詢添加和刪除操作

public ActionResult Accept(int id, string selectedVal)       //To update Accept status 
     { 
      var retrieveID = (from i in dbContext.groups 
           where i.groups_name == selectedVal 
           select new { groups_id = i.Usr_contacts_groups_id }).FirstOrDefault(); 

      var currentId = 1; 
      var deleteQuery = dbContext.requests.Where(i => i.from_usr_id == id && i.to_usr_id == id).FirstOrDefault(); 

      contact contactGroup = new contact(); 

      contactGroup.groups_id = retrieveID.groups_id; 
      contactGroup.groups_usr_id = currentId; 



      this.dbContext.Add(contactGroup); 
      this.dbContext.Delete(deleteQuery); 
      try 
      { 
       this.dbContext.SaveChanges(); 

      } 
      catch 
      { 
       return View(); 
      } 
      return Json(null); 
     } 

我可以添加在表1的記錄,並在刪除查詢「ID」值表2刪除多條記錄。

+0

,問題是......? –

+0

只刪除那個特定記錄不是多個記錄 – steve

+0

'table2'的主鍵是什麼? –

回答

0

,在表2的記錄添加到表1和記錄在表2中刪除

我會假設,用簡單的英語:

,在table2記錄應該添加到table1然後從table2中刪除

換句話說,將記錄table1轉換爲table2,對吧? (假設它是)

public ActionResult MoveRecord(int id) { 

    // get Table 2 record 
    var recordA = dbContext.table2.FirstOrDefault(x => x.bioId == id); 

    // if we did find a record 
    if (recordA != null) { 

     // let's add it into Table 1 
     var recordB = new Table2(); 
     recordB.id = recordA.id; 
     recordB.value = recordA.value; 

     // add to database 
     dbContext.table1.AddObject(recordB); 

     // now that we have it in the database, let's delete the original on 
     dbContext.table2.DeleteObject(recordA); 

     // save all changes 
     dbContext.SaveChanges(); 
    } 


    return RedirectToAction("Index"); 
} 
+0

沒關係balexandre。 OP每10分鐘改變一次他的想法。我認爲這個問題與PK不匹配有關。 –