关于EF 的一些事 ,虽然常常用到一些常用的功能 但是也有好多东西忘记了
添加
创建一个实体对象
User uObj = new User() { uName = "刘德华"}
db.Users.Add(uObj);
//1调用数据上下文的保存方法,将对象存数数据库 db.SaveChanges();
查询
就是直接再后面写linq语句
List<User> list = db.Users.Where(u => u.uName ==
"
刘德华
"
).ToList();
删除
//实例化一个Users对象 Users user = new Users() { Id = 1 }; //设置该对象的状态为删除
Entry<User>(user).State = EntityState.Deleted; //保存修改 db.SaveChanges();
先查询再删除
db.User.Remove(item);
修改
先查询再修改
var user = db.Users.Where(u => u.Id == 2).FirstOrDefault(); //修改UserName属性 user.UserName = "22"; //保存修改 db.SaveChanges();
我们都修改了entityState 的状态
把要修改的
/1.创建出一个要修改的对象 User use = new User() { uId = 8,uName="小白~~~"}; //3.设置该对象为被修改过db.Entry<User>(user).State = System.Data.EntityState.Unchanged;//4.设置该对象的 uName属性为修改状态,同时 entry.State 被修改为 Modified 状态entry.Property("uName").IsModified = true;//5.关闭EF实体合法性检查(如果创建出来的要修改的数据有的字段没有赋值则关闭实体合法性检查,如果所有字段都赋值了则不用关闭EF实体合法性检查)db.Configuration.ValidateOnSaveEnabled = false; //6.重新保存到数据库 -- ef 上下文会根据实体对象的状态,根据 entry.State =Modified 的值生成对应的 update sql 语句.db.SaveChanges();