2011年11月28日

ASP.NET LINQ To Entity Model 新增/刪除/更新 語法範例

Database TestDB如下:
新增 (Insert):

using (TestDBEntities ctx = new TestDBEntities())

{

//Create new Department

Dept d = new Dept() { DeptName = "ADO Entity" };

//Create new Employee 1

EmpDept ed1 = new EmpDept() { EmpName = "ADO Employee 1" };

//Create new Employee 2

EmpDept ed2 = new EmpDept() { EmpName = "ADO Employee 2" };

//Add employee to the Dept *OBJECT*

d.EmpDept.Add(ed1);

d.EmpDept.Add(ed2);

//Updating the context

ctx.AddToDept(d);

//Save to Database

ctx.SaveChanges();

}

更新(Update):

using (TestDBEntities ctx = new TestDBEntities())

{

//Get an existing Department

Dept dep = (from d in ctx.Dept

where d.DeptId == 22

select d).First();

//Set new Department name

dep.DeptName = "ADO.NET 3.0";

//Create new Employee 2

EmpDept ed2 = new EmpDept() { EmpName = "ADO 2" };

//Add *new* employee to the Dept *OBJECT*

dep.EmpDept.Add(ed2);

//Save to Database

ctx.SaveChanges();

}  

刪除(Delete):

using (TestDBEntities ctx = new TestDBEntities())

{

//Get an existing Department

Dept dep = (from d in ctx.Dept.Include("EmpDept")

where d.DeptId == 22

select d).First();

/*

Needd to do ToList() becuase once you delete

a record then iteration will not be possible.

*/

foreach (EmpDept ed in dep.EmpDept.ToList())

{

//This removes relationship from Context

dep.EmpDept.Remove(ed);

//Delete it from context

ctx.DeleteObject(ed);

}

//Delete the master table

ctx.DeleteObject(dep);

//Save to Database

ctx.SaveChanges();
}

0 意見:

張貼留言

##EasyReadMore##