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

     1 public T AddEntity(T entity) 
     2 {
     3     //EF4.0的写法  
     4     添加实体
     5     //db.CreateObjectSet<T>().AddObject(entity);
     6     //EF5.0的写法
     7     db.Entry<T>(entity).State = EntityState.Added;
     8     //下面的写法统一
     9     db.SaveChanges();
    10     return entity;
    11 }
    12 public bool UpdateEntity(T entity)
    13 {
    14     //EF4.0的写法
    15     //db.CreateObjectSet<T>().Addach(entity);
    16     //db.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified);
    17     //EF5.0的写法 
    18    db.Set<T>().Attach(entity); 
    19    db.Entry<T>(entity).State = EntityState.Modified; 
    20    return db.SaveChanges() > 0; 
    21 }
    22 public bool DeleteEntity(T entity)
    23 {
    24     //EF4.0的写法 
    25    //db.CreateObjectSet<T>().Addach(entity);
    26    //db.ObjectStateManager.ChangeObjectState(entity, EntityState.Deleted);
    27    //EF5.0的写法
    28    db.Set<T>().Attach(entity);
    29    db.Entry<T>(entity).State = EntityState.Deleted;
    30    return db.SaveChanges() > 0;
    31 }
    32 
    33 public IQueryable<T> LoadEntities(Func<T, bool> whereLambda)
    34 {
    35     //EF4.0的写法
    36     //return db.CreateObjectSet<T>().Where<T>(whereLambda).AsQueryable();
    37     //EF5.0的写法
    38     return db.Set<T>().Where<T>(whereLambda).AsQueryable();
    39 }
    执行SQL语句
    1 //EF4.0的写法
    2 //int ExcuteSql(string strSql, ObjectParameter[] parameters);
    3 return EFContextFactory.GetCurrentDbContext().ExecuteFunction(strSql, parameters);
    4 //EF5.0的写法
    5  int ExcuteSql(string strSql, DbParameter[] parameters);
    6 return DEFContextFactory.GetCurrentDbContext().ExecuteSqlCommand(strSql, parameters);
  • 相关阅读:
    linux常用命令-新手入门
    centos-1908安装步骤
    存储过程和函数的一些范例
    在iis7上如何配置来看到asp报错
    如何在ashx页面获取Session值
    SQL--create Table
    NET内存持续增长问题排查
    Socket之服务调用
    编程心得
    vs中无法查找或打开PDB文件
  • 原文地址:https://www.cnblogs.com/webapi/p/5669049.html
Copyright © 2011-2022 走看看