EF框架的增删查改

含义:全称EntityFramework 官方点的解释是Entity Framework是ADO.NET 中的一套支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架(对象关系映射框架,或者说是数据持久化框架)。

三种模式:DataBase First 数据库优先, 传统的表驱动方式创建EDM,然后通过EDM生成模型和数据层代码。除生成实体模型和自跟踪实现模型,还支持生成轻型DbContext。简历理解就是先设计数据库,创建好数据库映射成对象和上下文。
Model First 模型优先,先创建EDM模型,再生成DDL数据库脚本和模型和数据层代码。除生成实体模型和自跟踪实现模型,支持生成轻型DbContext。简单理解就是设计EDM模型然后生成到数据库和创建对象和上下文。
CodeFirst 代码优先,手动创建POCO模型,数据层DbContext及映射关系,通过Database.SetInitializer生成数据库,这种方式较灵活,但是需要手动定义实体模型和关系映射。简单理解就是自己写好实体对象和映射关系,最后通过命令生成到数据库中去。

EF增删查改的代码实现:
一个表;字段为ID、Name、Remark

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Com.HuangNa.Models;

namespace Com.HuangNa.Controllers
{
    public class RoleController : Controller
    {
        //数据库连接定义
        RbacDBEntities db = new RbacDBEntities();
        // GET: Role
        //新增
        public ActionResult Index()
        {
            //方法一
            Role role = new Role()
            {
                Remark = "备注",
                Name = "招生主任"
            };
            db.Roles.Add(role);
            db.SaveChanges();
            //方法二
            Role role2 = new Role()
            {
                Remark = "备注",
                Name = "招生干事"
            };
            db.Entry(role2).State = System.Data.Entity.EntityState.Added;
            db.SaveChanges();
            //批量新增
            List<Role> roles = new List<Role>()
            {
                new Role()
                {
                    Remark = "李志超",
                    Name = "教学助理"
                },
                new Role()
                {
                    Remark = "钟智",
                    Name = "教学干事"
                }
            };
            db.Roles.AddRange(roles);
            db.SaveChanges();
            return Content("新增成功");
        }
        //修改
        public ActionResult Edit()
        {
            //方法一
            var role = db.Roles.Find(5);
            role.Remark = "hhh";
            db.SaveChanges();
            //方法二
            Role role2 = new Role()
            {
                ID=5,
                Remark = "备注",
            };
            db.Entry(role2).State = System.Data.Entity.EntityState.Modified;
            db.SaveChanges();

            return Content("修改成功");
        }
        //删除
        public ActionResult Delete()
        {
            //方法一
            var role = db.Roles.Find(5);
            db.Roles.Remove(role);
            db.SaveChanges();
            //方法二
            Role role2 = new Role()
            {
                ID = 5
            };
            db.Entry(role2).State = System.Data.Entity.EntityState.Deleted;
            db.SaveChanges();
            //批量删除
            List<Role> roles = db.Roles.Where(p => p.Remark == "666").ToList();
            db.Roles.RemoveRange(roles);
            db.SaveChanges();
            return Content("删除成功");
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值