EF框架—基础增删查改
环境
1.用Visual Studio创建ASP.NET MVC模版
2.在Models文件夹添加ADO.NET实体数据模型
3.新建控制器
基础语法
// GET: ClassInfo
TestDB6Entities db = new TestDB6Entities();//实例化实体类
public ActionResult Index()
{
var student= new Student()
{
ClassInfoID = null,
IsAtCollege = true,
Name = "拜纳姆",
No = null,
Remark = "",
Tel = "",
StudentType = 1,
Tag = ""
};
List<Student> students = new List<Student>()
{
new Student(){
ClassInfoID = null,
IsAtCollege = true,
Name = "拜纳姆",
No = null,
Remark = "",
Tel = "",
StudentType = 1,
Tag = ""
},
new Student(){ }
};
return View();
}
方法一:直接改动数据
增
db.表名.Add(student);
db.SavaChanges();
改
var student1=db.表名.Find(ID);//先查询再修改,修改某个属性,不会影响其他属性的变化
student1.属性=“值”;
db.SavaChanges();
//new对象,将对象的状态,改为修改状态,这样,可能将其他属性设置为空
var b = new Student() {
ID=1,
Remark="收到"
};
db.Entry(b).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
删
var student=db.表名.Find(ID);
db.表名.Remove(student);
db.SavaChanges();
方法二:改动数据的状态
增
db.Entry(student).State = System.Data.Entity.EntityState.Added;
db.SavaChanges();
改
**批量增**
db.表名.AddRange(students);
db.SavaChanges();
删
db.Entry(student).State=EntryState.Deleted;
db.SavaChanges();
多个数据
批量增
db.表名.AddRange(students);
db.SavaChanges();
批量删
var students =db.表名.Find(ID);//先查询再修改,修改某个属性,不会影响其他属性的变化
db.表名.RemoveRange(students );
db.SavaChanges();
查
var student1 = db.ClassInfos.Where(p => p.Name == "").ToList();//精准查询
var student2 = db.ClassInfos.Where(p => p.Name.Contains( "")).ToList();//模糊查询
var student3 = db.ClassInfos.Where(p => p.Name== ""&&p.Remark==""||(p.TeacherID==null)).ToList();//组合查询
var student4 = db.ClassInfos.Where(p => p.Name == ""||p.Term==null).ToList();//组合查询