EF5.0增删改查的写法及执行Sql的方法
2017-01-04 17:10
501 查看
public T AddEntity(T entity) { //EF4.0的写法 添加实体 //db.CreateObjectSet<T>().AddObject(entity); //EF5.0的写法 db.Entry<T>(entity).State = EntityState.Added; //下面的写法统一 db.SaveChanges(); return entity; }
public bool UpdateEntity(T entity) { //EF4.0的写法 //db.CreateObjectSet<T>().Addach(entity); //db.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified); //EF5.0的写法 db.Set<T>().Attach(entity); db.Entry<T>(entity).State = EntityState.Modified; return db.SaveChanges() > 0; }
public bool DeleteEntity(T entity) { //EF4.0的写法 //db.CreateObjectSet<T>().Addach(entity); //db.ObjectStateManager.ChangeObjectState(entity, EntityState.Deleted); //EF5.0的写法 db.Set<T>().Attach(entity); db.Entry<T>(entity).State = EntityState.Deleted; return db.SaveChanges() > 0; }
public IQueryable<T> LoadEntities(Func<T, bool> whereLambda) { //EF4.0的写法 //return db.CreateObjectSet<T>().Where<T>(whereLambda).AsQueryable(); //EF5.0的写法 return db.Set<T>().Where<T>(whereLambda).AsQueryable(); }
执行SQL语句 //EF4.0的写法 //int ExcuteSql(string strSql, ObjectParameter[] parameters); return EFContextFactory.GetCurrentDbContext().ExecuteFunction(strSql, parameters); //EF5.0的写法 int ExcuteSql(string strSql, DbParameter[] parameters); return DEFContextFactory.GetCurrentDbContext().ExecuteSqlCommand(strSql, parameters);
相关文章推荐
- Leetcode176. Second Highest Salary(MYSQL limit,offset 区别)
- mySQL初涉
- 用ORACLE 存储过程发送HTML邮件,支持文本和HTML两种格式,增加防中文乱码
- 比Mysqli操作数据库更简便的方式 。PDO
- 闰秒导致MySQL服务器的CPU sys过高
- zabbix实战--Memcached,redis监控详解
- Django框架学习中碰到的数据库的问题
- Win10 install oracle12c version 2.1.0.2.0;
- 第38课 nginx配置、反向代理、负载均衡、缓存、LNMMP之memcached
- sybase 自动根据sql生成excel文件
- 三种方式调整表空间大小:维保数据库时应该考虑。
- mysql 5.7 新特性之 (mysql.gtid_executed)
- ubuntu下navicat试用到期解决办法(删除system.reg之后navicat不能运行解决办法)
- SQL语句-创建索引
- MYSQL查询优化
- mysql 截取身份证出生日期
- Redis 安装和配置实例
- sql基础
- MongoDB 3.0 用户创建
- MySQL——InnoDB锁问题(五)