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 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/axyj6666/article/details/106522366