EF数据库表一定要有主键
【EF实现修改和删除】
ctx.Entry<UserInfoTable>(user).State = System.Data.Entity.EntityState.Modified;
#region 增加操作 /* //1.实例化一个上下文对象 var ctx = new UserInfoEntities(); //2.实例化一个模型对象并且给对象赋值 UserInfoTable user = new UserInfoTable(); user.UserName = "Futao00"; user.Pwd = "1223"; user.Sex = "男"; user.Tel = "18797811992"; //3.对数据库进行一个添加操作(告诉EF实体操作的类型curd) ctx.UserInfoTable.Add(user); //ctx.UserInfoTable.Remove(); //4.同步到数据库,这个时候数据库才会进行curd ctx.SaveChanges(); */ #endregion
//修改的时候要指定主键的值,只能根据主键进行crud,所以EF的数据表必须设置自己的主键
#region 修改删除操作
//1.实例化上下文对象
UserInfoEntities dbContext = new UserInfoEntities();
//2.实例化实体对象,同时指定对象的主键和对象修改之后的值
UserInfoTable userA = new UserInfoTable();
userA.UserName = "Futao"; //指定主键
//userA.Tel = "xxx";
//userA.Pwd = "xxx";
//userA.Sex = "xxx";
userA.Sex = "000000"; //3.告诉EF对该对象进行的操作 //dbContext.Entry<UserInfoTable>(userA).State = System.Data.Entity.EntityState.Modified; //单独修改某一个属性的时候要先Attach上 dbContext.UserInfoTable.Attach(userA); //dbContext.Entry<UserInfoTable>(userA).Property<string>(u => u.Sex).IsModified = true; dbContext.Entry(userA).Property("Sex").IsModified = true; //dbContext.Entry<UserInfoTable>(userA).State = System.Data.Entity.EntityState.Deleted; //4.保存到数据库 dbContext.SaveChanges(); #endregion #region 查询操作 UserInfoEntities dbContext = new UserInfoEntities(); //遍历所有数据 foreach (var v in dbContext.UserInfoTable) { Console.WriteLine(v.UserName + "\t" + v.Pwd + "\t" + v.Sex + "\t" + v.Tel); } //按条件查询Linq var tempSQL = from u in dbContext.UserInfoTable where u.Pwd == "123" select u.UserName + "\t" + u.Pwd + "\t" + u.Sex + "\t" + u.Tel; //再打印输出查询结果 foreach (var x in tempSQL) { Console.WriteLine(x); } #endregion
补充:实体Entity是什么,实体与模型Model之间的关系
http://www.cnblogs.com/hellenism/p/3812947.html?utm_source=tuicool&utm_medium=referral
lambda表达式
Linq