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: Role
public 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等。
版权声明:本文为axyj6666原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。