我们通过EF来对数据库进行操作并持久化到数据库,那么EF必然通过EF上下文来维护实体的状态,明确知道每一个状态所对应的操作。也就是说EF通过上下文负责跟踪实体的状态。EF实体状态存在命名空间System.Data.Entity下的EntityState枚举中
1.1、AddedAdded状态针对添加操作,当标记为此状态时,表名实体被上下文追踪但是不存在数据库中,当调用SaveChange()的时候会插入到数据库中。标记Added状态有两种:一种是间接标记,通过Add方法调用;另一种显示标记通过Entry方法调用代码如下
var cus = new Customer() { Name="魏杨杨", Age=18, Email="30119459@qq.com", AddTime=DateTime.Now }; db.Customer.Add(cus); db.SaveChanges(); //或者是 var cus = new Customer() { Name="魏杨杨", Age=18, Email="30119459@qq.com", AddTime=DateTime.Now }; db.Entry(cus).State = System.Data.Entity.EntityState.Added; db.SaveChanges();