其中

通用类名:DBhelper

实体类:UserInfo

 1   //新增
2 DBHelper<UserInfo> dbhelper = new DBHelper<UserInfo>();
3 UserInfo userinfo = new UserInfo();
4 userinfo.Name = "1";
5 dbhelper.Add(userinfo);
6
7 //根据条件查找列表
8 var entityes = dbhelper.FindList(x => x.Name == "1");
9 List<UserInfo> list = entityes.ToList<UserInfo>();
10
11 Response.Write("姓名为1的数量为:"+list.Count);
12
13 //分页查找
14 int rowcount = 0;
15 var entityes2 = dbhelper.FindPagedList(2, 10, out rowcount,x=>x.Name=="1",s=>s.Id,true);

2.EF(Entity Framework)通用DBHelper通用类,增删改差以及列表

using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Web; public class DBHelper<T> where T : class
{
AproSysEntities context = new AproSysEntities();
/// <summary>
/// 新增一个实体
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public int Add(T entity)
{
context.Entry<T>(entity).State = System.Data.EntityState.Added;
return context.SaveChanges();
}
/// <summary>
/// 删除一个实体
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public int Remove(T entity)
{
context.Entry<T>(entity).State = System.Data.EntityState.Deleted;
return context.SaveChanges();
}
/// <summary>
/// 修改一个实体
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public int Update(T entity)
{
context.Entry<T>(entity).State = System.Data.EntityState.Modified;
return context.SaveChanges();
}
/// <summary>
/// 批量新增实体
/// </summary>
/// <param name="dbContext"></param>
/// <returns></returns>
public int AddList(params T[] entities)
{
int result = 0;
for (int i = 0; i < entities.Count(); i++)
{
if (entities[i] == null)
continue;
context.Entry<T>(entities[i]).State = System.Data.EntityState.Added;
if (i != 0 && i % 20 == 0)
{
result += context.SaveChanges();
}
}
if (entities.Count() > 0)
result += context.SaveChanges();
return result;
}
/// <summary>
/// 批量删除实体
/// </summary>
/// <param name="where"></param>
/// <returns></returns>
public int RemoveList(Expression<Func<T, bool>> where)
{
var temp = context.Set<T>().Where(where);
foreach (var item in temp)
{
context.Entry<T>(item).State = System.Data.EntityState.Deleted;
}
return context.SaveChanges();
}
/// <summary>
/// 按条件查询
/// </summary>
/// <param name="where"></param>
/// <returns></returns>
public IQueryable<T> FindList(Expression<Func<T, bool>> where)
{
var temp = context.Set<T>().Where(where);
return temp;
}
/// <summary>
/// 按条件查询,排序
/// </summary>
/// <typeparam name="S"><peparam>
/// <param name="where"></param>
/// <param name="orderBy"></param>
/// <param name="isAsc"></param>
/// <returns></returns>
public IQueryable<T> FindList<S>(Expression<Func<T, bool>> where, Expression<Func<T, S>> orderBy, bool isAsc)
{ var list = context.Set<T>().Where(where);
if (isAsc)
list = list.OrderBy<T, S>(orderBy);
else
list = list.OrderByDescending<T, S>(orderBy);
return list;
}
/// <summary>
/// 按条件查询,分页
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowCount"></param>
/// <param name="where"></param>
/// <returns></returns>
public IQueryable<T> FindPagedList(int pageIndex, int pageSize, out int rowCount, Expression<Func<T, bool>> where)
{
var list = context.Set<T>().Where(where);
rowCount = list.Count();
list = list.Skip(pageSize * (pageIndex - 1)).Take(pageSize);
return list;
}
/// <summary>
/// 按条件查询,分页,排序
/// </summary>
/// <typeparam name="S"><peparam>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowCount"></param>
/// <param name="where"></param>
/// <param name="orderBy"></param>
/// <param name="isAsc"></param>
/// <returns></returns>
public IQueryable<T> FindPagedList<S>(int pageIndex, int pageSize, out int rowCount, Expression<Func<T, bool>> where, Expression<Func<T, S>> orderBy, bool isAsc)
{
var list = context.Set<T>().Where(where);
rowCount = list.Count();
if (isAsc)
list = list.OrderBy<T, S>(orderBy).Skip(pageSize * (pageIndex - 1)).Take(pageSize);
else
list = list.OrderByDescending<T, S>(orderBy).Skip(pageSize * (pageIndex - 1)).Take(pageSize);
return list;
}
}

EF(Entity Framework)通用DBHelper通用类,增删改查以及列表的更多相关文章

  1. 使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序

    使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序 不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻 ...

  2. Yii 1.1.17 四、属性标签、AR类增删改查、使用上传类与扩展第三方类库

    一.属性标签与规则设置 当进入网站页面,将会读数据库返回信息到视图上.那么,现在定义模型中的属性在视图标签上的显示, 也就是模型属性到前台标签的映射 // 定义模型属性到前台标签的映射 public ...

  3. 基于Entity Framework的自定义分页,增删改的通用实现

    简介 之前写个一个基于Dapper的分页实现,现在再来写一个基于Entity Framework的分页实现,以及增删改的通用实现. 代码 还是先上代码:https://github.com/jinwe ...

  4. 潭州课堂25班:Ph201805201 django框架 第六课 模型类增删改查,常用 的查询矣查询条件 (课堂笔记)

    在视图函数中写入增删改查的方法 增: 在 urls 中配置路径 : 查: 1: 在后台打印数据 在模型类中添加格式化输出 : QuerySet,反回的是个对象,可以按索引聚会,用 for 循环,, 找 ...

  5. abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  6. Working with Data » Getting started with ASP.NET Core and Entity Framework Core using Visual Studio » 增、查、改、删操作

    Create, Read, Update, and Delete operations¶ 5 of 5 people found this helpful By Tom Dykstra The Con ...

  7. EF 5.0 帮助类 增删改查

    原文地址:http://www.cnblogs.com/luomingui/p/3362813.html EF 5.0 帮助类 加入命名空间: using System; using System.D ...

  8. .net+EF+mvc通过EasyUI的DataGrid实现增删改查

    @{    Layout = null;} <!DOCTYPE html> <html><head>    <meta name="viewport ...

  9. django-rest-framework框架 第三篇 之CRUD视图扩展类(增删改查的优化)

    CRUD视图扩展类 1 CreateModelMixin 2 RetrieveModelMixin 3 UpdateModelMixin 4 DestroyModelMixin <1> 创 ...

随机推荐

  1. SG博弈函数模板

    下面这两个模版应该就比较严密了,这个里边的f[]是从零开始的. 转载出处:转自:http://blog.csdn.net/primoblog/article/details/13376057 1.sg ...

  2. 九度oj 题目1139:最大子矩阵

    题目描述: 已知矩阵的大小定义为矩阵中所有元素的和.给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵. 比如,如下4 * 4的矩阵 0 -2 -7 0 9 2 -6 2 -4 1 ...

  3. AWR报告中Parse CPU to Parse Elapsd%的理解

    AWR报告中Parse CPU to Parse Elapsd%的理解   原文自:http://dbua.iteye.com/blog/827243   Parse CPU to Parse Ela ...

  4. cell左右滑动展开更多按钮-MGSwipeTableCell

    MGSwipeTableCell是一个UITableViewCell的子类, 它实现了左,右滑动展开更多按钮用来实现一些相关操作就和QQ好友列表滑动展开的按钮一样,封装的很好,动画效果也处理很到位,废 ...

  5. (转)java 中变量存储位置总结

    1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符 ...

  6. WAMP本地环境升级php版本--第二次尝试

    wamp 环境下 php5.6.25 升级php7.1.17 实践 本文参考:https://www.cnblogs.com/hubaohua1588/p/6884146.html来进行操作. 1.从 ...

  7. [bzoj1110][POI2007]砝码Odw_贪心

    bzoj-1110 POI-2007 砝码Odw 参考博客:http://hzwer.com/4761.html 题目大意:在byteotian公司搬家的时候,他们发现他们的大量的精密砝码的搬运是一件 ...

  8. T3054 高精度练习-文件操作 codevs

    http://codevs.cn/problem/3054/ 题目描述 Description   输入一组数据,将每个数据加1后输出 输入描述 Input Description 输入数据:两行,第 ...

  9. nginx源码学习资源(不断更新)转

    原文地址:http://www.cnblogs.com/yjf512/archive/2012/06/13/2548515.html nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx ...

  10. BURPSUITE爆破密码

    拿DVWA举例子.环境百度自行搭建. 开启burpsuite 选择temporary project(临时工程) 选择默认配置进入后,访问127.0.0.1:8080 安装证书 将这个intercep ...