什么是EF框架?
实体框架Entity Framework 是微软以 ADO.NET 为基础所开发出来的对象关系映射 (object-relational mapper(ORM)) ,它能够使开发者利用 ADO.NET 对象跟数据库打交道,使程序员再也不用编写麻烦的SQL语句。
EF框架的优点有哪些?
1、应用程序可以通过更加以应用程序为中心的概念性模型(包括具有继承性、复杂成员和关系的类型)来工作。
2、应用程序不再对特定的数据引擎或存储架构具有硬编码依赖性。
3、可以在不更改应用程序代码的情况下更改概念性模型与特定于存储的架构之间的映射。
4、开发人员可以使用可映射到各种存储架构(可能在不同的数据库管理系统中实现)的一致的应用程序对象模型。
5、多个概念性模型可以映射到同一个存储架构。
如何使用EF框架?
下面是步骤图:
在这里插入图片描述
如何用EF框架对数据进行增删查改?
增加
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Com.EF.Models; //导入命名空间
namespace Com.EF.Controllers
{
public class roleController : Controller
{
// GET: role
EF_DBEntities db = new EF_DBEntities(); //实例化一个对象
public ActionResult Index()
{
return View();
}
//新增
public ActionResult Add()
{
//第一种方法
Role role1 = new Role()
{
Name = "招生主任",
Remark = "无"
};
db.Roles.Add(role1);
db.SaveChanges();
//第二种方法
Role role2 = new Role()
{
Name = "招生干事",
Remark = "无"
};
db.Entry(role2).State = System.Data.Entity.EntityState.Added;
db.SaveChanges();
//第三种方法
List<Role> roles = new List<Role>()
{
new Role()
{
Name="教学助理",
Remark="李志超"
},
new Role()
{
Name="就业助理",
Remark="钟智"
}
};
db.Roles.AddRange(roles);
db.SaveChanges();
return View();
}
}
}
修改
//修改
public ActionResult Edit()
{
//第一种方法,修改ID为6的对象。先查后改
var roles = db.Roles.Find(6);
roles.Name = "招生经理";
roles.Remark = "张三";
db.Entry(roles).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
//第二种方法
Role role = new Role()
{
ID = 7,
Name = "招生干事",
Remark = "李四"
};
db.Entry(role).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
return View();
}
删除
//删除
public ActionResult Delete()
{
//第一种方法.删除ID为8的对象
var role1 = db.Roles.Find(8); //Find,根据主键查询
db.Roles.Remove(role1);
db.SaveChanges();
//第二种方法
Role role2 = new Role()
{
ID = 8
};
db.Entry(role2).State = System.Data.Entity.EntityState.Deleted;
db.SaveChanges();
//第三种方法,批量删除。删除备注为666的两条数据
List<Role> roles = db.Roles.Where(p => p.Remark == "666").ToList();
db.Roles.RemoveRange(roles);
db.SaveChanges();
return View();
}