[C#] 初探Entity Framework (七) – Update, Delete

這篇介紹UpdateDelete
方法其實和Insert大同小異

首先介紹Update,原始Table如下圖
2016-3-4 下午 06-02-33.png

目標嘗試把EmployeeID大於5的人們,將他的City改成Taipei

SQL語法如下
UPDATE Northwind.dbo.Employees
SET City = ‘Taipei’
WHERE EmployeeID > 5

使用EF的範例Code如下

        private void btn_Update_Click(object sender, EventArgs e)
        {
            IQueryable<Employees> result = ef.Employees.Where(x => x.EmployeeID > 5);

            foreach (Employees em in result)
            {
                em.City = "Taipei";
            }
            ef.SaveChanges();
        }

成功的結果如下圖
2016-3-4 下午 06-08-23.png


 

接下來是Delete,就試試把City不是Taipei的人們刪除吧!
範例Code如下

private void btnDelete_Click(object sender, EventArgs e)
        {
            IQueryable<Employees> result = ef.Employees.Where(x => x.City != "Taipei");

            foreach (Employees em in result)
            {
                ef.Employees.Remove(em);
            }
            ef.SaveChanges();
            MessageBox.Show("Finish");
        }

成功結果
2016-3-4 下午 06-14-56

另外這邊做個提醒
如果即將刪除的項目,有被關聯到其他Table作為外來鍵
可能會產生無法刪除的狀況
這邊為了測試方便,有先把Norwind.dbo.Employee的關聯性先拿掉

若想直接連帶刪除的話
可以參考這篇文章
ADO.Net Entity Framework : (十六) 關聯式資料 – 刪除


下一篇:[C#] 初探Entity Framework (八) – Transaction

廣告

One thought on “[C#] 初探Entity Framework (七) – Update, Delete

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s