1.Add

 1 #region 1.1 新增学生信息(定义成Int类型,返回受影响的行数)
 2         /// <summary>
 3         /// 新增学生信息
 4         /// </summary>
 5         /// <param name="stu"></param>
 6         /// <returns></returns>
 7         public int Add(Studnet stu)
 8         {
 9             //把对象加入到EF上下文中,并获取对象的状态管理对象
10             DbEntityEntry<Studnet> entry = db.Entry<Studnet>(stu);
11 
12             //把状态改为Added
13             //要引入System.Data.Entity
14             entry.State = System.Data.EntityState.Added;
15 
16             //保存到数据库
17            return  db.SaveChanges();
18            
19         }
20         #endregion

2.Delete

2.1根据用户ID来删除

 1 #region 2.0 根据学生的ID来删除
 2         /// <summary>
 3         /// 根据学生的ID来删除
 4         /// </summary>
 5         /// <param name="id"></param>
 6         /// <returns></returns>
 7         public int Delete(int id)
 8         {
 9             Studnet stu = new Studnet() { s_ID = id };
10             //删除传过来的ID
11             //DbEntityEntry<Studnet> stu= db.Studnets.Where(s => s.s_ID == id) as DbEntityEntry<Studnet>;
12             DbEntityEntry<Studnet> entry = db.Entry<Studnet>(stu);
13             //把状态改为deleted
14             entry.State = System.Data.EntityState.Deleted;
15 
16             //保存到数据库
17             return db.SaveChanges();
18         } 
19         #endregion

2.2根据条件来删除

其实就是在where方法中传入了一个lambda表达式,而lambda表达式本质上就是一个匿名函数。

 1 #region 2.1 根据条件来删除
 2         /// <summary>
 3         /// 根据条件来删除
 4         /// (给出任意条件,然后删除)
 5         /// </summary>
 6         /// <returns></returns>
 7         public int DeleteBy(System.Linq.Expressions.Expression<Func<Studnet, bool>> deleteWhere)
 8         {
//查询出要删除的数据
9 List<Studnet> stuList = db.Studnets.Where(deleteWhere).ToList(); 10 //循环删除 11 stuList.ForEach(u => db.Studnets.Remove(u)); 12 13 //保存到数据库 14 return db.SaveChanges(); 15 16 } 17 #endregion

3.Modify

 1 #region 3.0 修改
 2         /// <summary>
 3         /// 修改
 4         /// 要告诉程序,哪个属性改了。这里添加一个可变参数数组
 5         /// </summary>
 6         /// <param name="stu"></param>
 7         /// <returns></returns>
 8         public int Modify(Studnet stu, params string[] parmeters)
 9         {
10             //把对象加入到EF容器,并获取状态管理对象
11             DbEntityEntry<Studnet> entry = db.Entry<Studnet>(stu);
12 
13             //对象的状态改为Unchanged
14             entry.State = System.Data.EntityState.Unchanged;
15             foreach (string parms in parmeters)
16             {
17                 entry.Property(parms).IsModified = true;
18             }
19 
20             return db.SaveChanges();
21         } 
22         #endregion

测试修改:

 1  /// <summary>
 2         /// 修改的测试
 3         /// </summary>
 4         public Student()
 5         {
 6             //把Id为1的学生的名字改为xxxxxxxxxxx
 7             Studnet stu = new Studnet() { s_ID=1,s_Name="xxxxxxxxxxx"};
 8             //改哪个实体,改哪个属性
 9             this.Modify(stu, "s_Name");
10         }
Test Modify

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-18
  • 2021-11-15
猜你喜欢
  • 2021-07-15
  • 2022-12-23
  • 2021-10-31
  • 2021-11-08
  • 2022-02-10
相关资源
相似解决方案