zoukankan      html  css  js  c++  java
  • EF5.0区别于EF4.0的增删改写法

     // 实现对数据库的添加功能,添加实现EF框架的引用
     40 
     41         public T AddEntity(T entity)
     42 
     43         {
     44 
     45             //EF4.0的写法   添加实体
     46 
     47             //db.CreateObjectSet<T>().AddObject(entity);
     48 
     49             //EF5.0的写法
     50 
     51             db.Entry<T>(entity).State = EntityState.Added;
     52 
     53  
     54 
     55             //下面的写法统一
     56 
     57             db.SaveChanges();
     58 
     59             return entity;
     60 
     61         }
     62 
     63  
     64 
     65         //实现对数据库的修改功能
     66 
     67         public bool UpdateEntity(T entity)
     68 
     69         {
     70 
     71             //EF4.0的写法
     72 
     73             //db.CreateObjectSet<T>().Addach(entity);
     74 
     75             //db.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified);
     76 
     77             //EF5.0的写法
     78 
     79             db.Set<T>().Attach(entity);
     80 
     81             db.Entry<T>(entity).State = EntityState.Modified;
     82 
     83  
     84 
     85             return db.SaveChanges() > 0;
     86 
     87         }
     88 
     89  
     90 
     91         //实现对数据库的删除功能
     92 
     93         public bool DeleteEntity(T entity)
     94 
     95         {
     96 
     97             //EF4.0的写法
     98 
     99             //db.CreateObjectSet<T>().Addach(entity);
    100 
    101             //db.ObjectStateManager.ChangeObjectState(entity, EntityState.Deleted);
    102 
    103             //EF5.0的写法
    104 
    105             db.Set<T>().Attach(entity);
    106 
    107             db.Entry<T>(entity).State = EntityState.Deleted;
    108 
    109  
    110 
    111             return db.SaveChanges() > 0;
    112 
    113         }
    114 
    115  
    116 
    117         //实现对数据库的查询  --简单查询
    118 
    119         public IQueryable<T> LoadEntities(Func<T, bool> whereLambda)
    120 
    121         {
    122 
    123             //EF4.0的写法
    124 
    125             //return db.CreateObjectSet<T>().Where<T>(whereLambda).AsQueryable();
    126 
    127             //EF5.0的写法
    128 
    129             return db.Set<T>().Where<T>(whereLambda).AsQueryable();
    130 
    131         }
  • 相关阅读:
    域名解析成功但ping不通解决方案
    PHP如何通过rabbitMQ死信队列实现业务的延时/定时操作
    短视频自导自演,分镜脚本如何设计
    如何在uni-app中使用fingerprint2实现游客设备标识
    以PHP门面模式实现简单的邮件发送
    搜索接口优化方案——幂集分词表
    CUMTCTF'2020 未完成 wp
    CUMTCTF'2020 已做wp
    Sqli-labs 1-10
    ETCD组件在grpc中的实践
  • 原文地址:https://www.cnblogs.com/jys509/p/3293937.html
Copyright © 2011-2022 走看看