应用程序对数据库执行CRUD时,通过entity framework方式,实际上是对DbContext的操作,DbContext是EF的入口,DbContext拿到对应的消息(CRUD)后,通过ORM中的Mapping来将对象O映射成数据库中的关系R。
下面就简单的实现一下利用entity framework实现简单的增删改查。首先要说明的是我已经建立了在解决方案中映射了数据库中表“Customer”。所有的操作都是针对这张表。
1.增加
Customer customer = new Customer(); customer.cusName = "zhangsan"; customer.delFlag = "1"; customer.subTime = DateTime.Now.ToString(); te.Customer.Add(customer); //上下文中添加将新添加的实体,并修改上下文的状态为“已添加”。 te.SaveChanges(); //将上下文中做的更改保存的数据库中
2.修改
customer.Id = 5; customer.cusName = "syq"; customer.delFlag = "1"; customer.subTime = "2014年12月11日"; //在上下文中添加customer实例的,并修改他状态修改为已修改 te.Entry<Customer>(customer).State = System.Data.EntityState.Modified; te.SaveChanges();
3.删除
customer.Id = 5; customer.cusName = "syq"; customer.delFlag = "1"; customer.subTime = "2014年12月11日"; //在上下文中添加customer实例的,并修改他状态修改为已删除 te.Entry<Customer>(customer).State = System.Data.EntityState.Deleted; te.SaveChanges();
4.查询
利用Linq语句查询某一条数据
var item = from b in te.Customer where b.Id == 4 select b; foreach (var customer in item) { Console.WriteLine(customer.cusName); }
利用lambda表达式查询
var itemLambda = te.Customer.Where<Customer>(c => c.Id == 3).FirstOrDefault(); Console.WriteLine(itemLambda.cusName);
总结
entity framework中进行修改、删除、增加数据,都需要将要操作的数据先添加到“上下文”中,并修改上下文的状态,最后调用SaveChange这个方法。而查询可以利用Linq语句查询或者利用lambda表达式去查询。
原文地址:http://blog.csdn.net/suneqing/article/details/41964757