C#中的实体框架EF(Entity Framework)的使用
一.定义
微软官方提供的ORM工具,ORM让开发人员节省数据库访问的代码时间,将更多的时间放到业务逻辑层代码上。EF提供变更跟踪、唯一性约束、惰性加载、查询事物等。开发人员使用Linq语言,对数据库操作如同操作Object对象一样省事。
二.Entity Framework的运行环境
EF5由两部分组成,EF api和.net framework 4.0/4.5,而EF6是独立的EntityFramework.dll,不依赖.net Framework。使用NuGet即可安装EF。
三.Entity Framework的增删改
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using Rbac.Models;namespace Rbac.Controllers{public class RoleController : Controller{RbacDBEntities db = new RbacDBEntities();// GET: Rolepublic ActionResult Index(){//新增//新增方式一//Role role = new Role()//{// Name = \"招生主任\",// Remark=\"1\"//};//db.Roles.Add(role);//db.SaveChanges();//新增方式二//Role role2 = new Role()//{// Name=\"招生干事\",// Remark=\"2\"//};//db.Entry(role2).State = System.Data.Entity.EntityState.Added;//db.SaveChanges();//批量新增//List<Role> roles = new List<Role>()//{// new Role(){// Name=\"123\",// Remark=\"3\"// },// new Role(){// Name=\"321\",// Remark=\"4\"// }//};//db.Roles.AddRange(roles);//db.SaveChanges();return View();}//修改public ActionResult Edit() {//修改方式一//Role role2 = new Role()//{// ID=8,// Name=\"zyk\"//};//db.Entry(role2).State = System.Data.Entity.EntityState.Modified;//db.SaveChanges();//修改方式二var role = db.Roles.Find(8);role.Name = \"zyk\";db.SaveChanges();return View();}//删除public ActionResult Delete(){//删除方式一//Role role2 = new Role()//{// ID = 8,//};//db.Entry(role2).State = System.Data.Entity.EntityState.Deleted;//db.SaveChanges();//删除方式二//var role = db.Roles.Find(9);//db.Roles.Remove(role);//db.SaveChanges();//批量删除List<Role> roles = db.Roles.Where(p=>p.Remark==\"2\").ToList();db.Roles.RemoveRange(roles);db.SaveChanges();return View();}}}
注解:注释代码是可以用的。数据库表名为Role表名,有字段Name,Remark等。