EF框架增删改

什么是EF框架

它是微软封装好一种ADO.NET数据实体模型,将数据库结构以ORM模式映射到应用程序中。

EF框架的优缺点

优点:

1.简洁的Linq to Sql语句大大提高了开发人员的效率,不要再写复杂的sql语句;
2.不再需要再管应用程序如何去连接数据库;
3.EF可以用作用于数据服务和OData Service的基础设施;

缺点:

1.由于linq语句编译之后就是sql,对于这种自动生成的sql语句无法控制;

2.EF的运行机制会消耗大量内存,大大降低了程序运行效率,从而导致降低了用户在客户端的体验效果;

3.一旦数据结构发生变化,需要更新EF数据model;有时还可能会出现找不到更新过的实体类这种情况;

示例
下面展示一些 内联代码片。

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();
        }
    }
}

————————————————

猜你喜欢

转载自blog.csdn.net/weixin_47975118/article/details/106567310