加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

MVC学习一:EF

发布时间:2020-12-15 21:24:26 所属栏目:asp.Net 来源:网络整理
导读:目录 一.EF修改和删除的多种方法 方法1:官方推荐 先查询在修改 或者删除 student = db.Students.FirstOrDefault(t => t.Id == student.Name = ; db.SaveChanges(); db.Students.Remove(student); db.SaveChanges(); 方法2:先附加到ef实体对象 然后在移除 S

目录

一.EF修改和删除的多种方法

方法1:官方推荐 先查询在修改 或者删除

student = db.Students.FirstOrDefault(t => t.Id == student.Name = ; db.SaveChanges(); db.Students.Remove(student); db.SaveChanges();

方法2:先附加到ef实体对象 然后在移除

Students s = s.Id = db.Students.Attach(s); (db.SaveChanges() >= }

方法3:添加到ef实体对象 然后标记删除

Students s = s.Id = db.Entry(s).State = num = db.SaveChanges();

方法4:修改实体

db.Configuration.ValidateOnSaveEnabled = DbEntityEntry dbS = db.Entry dbS.State = System.Data.EntityState.Unchanged; dbS.Property().IsModified = ; num = db.Configuration.ValidateOnSaveEnabled = ; (num >= }

二.标准查询where 在不同场景 实现方法不一样

三.include

场景1:自动 连接查询【无Include】

stu1 = db.Students.Where(t => t.Classes.CName == cname = stu1.FirstOrDefault();
( . . . . . . . . . . .

场景2:手动 内连接查询【有Include】

stu2 = db.Students.Include().Where(t => t.Id == ccc = stu2.FirstOrDefault().Classes.CName;
. . . . . . . . . . . . ( () . ,. ,. ,. ,. ,. . . ) . . .

场景3:无连接查询 分两次sql查询【无Include】

stucc = db.Students.Where(t => t.Id == zz = stucc.FirstOrDefault().Classes.CName;
( . . . . . . . . . . . .

四.skip?take

五.反射获取实例属性

listPro = obj1 = obj2 = listPro.ForEach(l => newValue = l.GetValue(obj1); l.SetValue(obj2,newValue); });

六.EF DLL数据访问帮助 父类

BaseDLL Tclass : , _00EFModel.Entities db = 1.0添加数据 + Add(Tclass model) db.Set 2.0 删除方法1 删除给定的对象 +Del(Tclass model) db.Set db.Set 2.1 删除方法2 根据条件删除对象 +Del(Expression> delWhere) Del(Expression>> modelS = db.Set modelS.ForEach(m => db.Set db.Set 3.0 修改方法1 修改某个实体的 某些属性 +Up(Tclass model,params string[] strparams) Up(Tclass model, db.Configuration.ValidateOnSaveEnabled = m = db.Entry m.State = ( i = ; i < strparams.Length; i++ m.Property(strparams[i]).IsModified = num = db.Configuration.ValidateOnSaveEnabled = 3.1 修改方法2 根据条件 修改指定的 属性 值 +Up(Expression> upWhere,Tclass model,params string[] strparame) Up(Expression>> upWhere, modelS = db.Set listPro = List dic = List listPro.ForEach(l => ( i = ; i < strparame.Length; i++ (l.Name == (dic.Count > ) ( property newValue = ( mymodel 4.0 查询方法 +GetList(Expression> strWhere,Expression> strOrederBy = null,bool order = true) List GetList(Expression>> strWhere,Tkey>> strOrederBy = , order = t = db.Set (strOrederBy != t = t = 4.1 查询方法2 分页查询 +GetList(int indexPage,int sizePage,bool order = true) List GetList( indexPage, sizePage, order = t = db.Set (strOrederBy != t = t = t.Skip((indexPage - ) * 提交 +save() }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读