博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VS2012里面使用EF框架的增删改查和分页的方法
阅读量:5039 次
发布时间:2019-06-12

本文共 1266 字,大约阅读时间需要 4 分钟。

  public class BaseRepository<T> where T : class

    {
        //实例化EF框架
        DataModelContainer db = new DataModelContainer();
        //添加
        public T AddEntities(T entity)
        {
            db.Entry<T>(entity).State = EntityState.Added;
            db.SaveChanges();
            return entity;
        }
        //修改
        public bool UpdateEntities(T entity)
        {
            db.Set<T>().Attach(entity);
            db.Entry<T>(entity).State = EntityState.Modified;
            return db.SaveChanges() > 0;
        }
        //修改
        public bool DeleteEntities(T entity)
        {
            db.Set<T>().Attach(entity);
            db.Entry<T>(entity).State = EntityState.Deleted;
            return db.SaveChanges() > 0;
        }
        //查询
        public IQueryable<T> LoadEntities(Func<T, bool> wherelambda)
        {
            return db.Set<T>().Where<T>(wherelambda).AsQueryable();
        }
        //分页
        public IQueryable<T> LoadPagerEntities<S>(int pageSize, int pageIndex, out int total,
            Func<T, bool> whereLambda, bool isAsc, Func<T, S> orderByLambda)
        {
            var tempData = db.Set<T>().Where<T>(whereLambda);
            total = tempData.Count();
            //排序获取当前页的数据
            if (isAsc)
            {
                tempData = tempData.OrderBy<T, S>(orderByLambda).
                      Skip<T>(pageSize * (pageIndex - 1)).
                      Take<T>(pageSize).AsQueryable();
            }
            else
            {
                tempData = tempData.OrderByDescending<T, S>(orderByLambda).
                     Skip<T>(pageSize * (pageIndex - 1)).
                     Take<T>(pageSize).AsQueryable();
            }
            return tempData.AsQueryable();
        }
    }

转载于:https://www.cnblogs.com/sky-net/p/4331107.html

你可能感兴趣的文章
单表入库最快的方法
查看>>
线性的数据结构
查看>>
使用MQ消息队列的优缺点
查看>>
SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)
查看>>
Win8Metro(C#)数字图像处理--2.5图像亮度调整
查看>>
SQLServer2005数据库快照的简单使用
查看>>
ASP.NET MVC 5 入门教程 (4) View和ViewBag
查看>>
T-SQL性能调整——信息收集
查看>>
Powerdesigner 16.5 从SQL Server 2012做逆向工程时提示:Unable to list tables问题
查看>>
NSIS:卸载时选择组件
查看>>
程序员最新笑话集锦
查看>>
10.29
查看>>
Linux(CentOS)下安装Zend Framework
查看>>
ArcEngine 数据导入经验(一)
查看>>
LINQ 【增、删、改、查】数据绑定
查看>>
ubuntu 14.04中Elasticsearch 2.3 中 Nginx 权限认证
查看>>
ansible中的playbook详解
查看>>
ES6-----学习系列二(解构赋值)
查看>>
“猜画小歌”的一些细节和思考
查看>>
Android图像处理 - 高斯模糊的原理及实现
查看>>