C#ORM框架Dapper封装
接口:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MVC.Interface
{
public interface IBaseRepository<T>
{
#region 成员方法
/// <summary>
/// 增加一条数据
/// </summary>
bool Add(T model);
/// <summary>
/// 根据ID删除一条数据
/// </summary>
bool Delete(int Id);
/// <summary>
/// 根据条件删除数据
/// </summary>
/// <param name="strWhere"></param>
/// <param name="parameters"></param>
/// <returns></returns>
bool DeleteList(string strWhere, object parameters);
/// <summary>
/// 更新一条数据
/// </summary>
bool Update(T model);
/// <summary>
/// 根据ID获取实体对象
/// </summary>
T GetModel(int Id);
/ <summary>
/ 根据条件获取实体对象
/ </summary>
//T GetModel(string strWhere, object parameters);
/// <summary>
/// 根据条件获取实体对象集合
/// </summary>
/// <param name="strWhere"></param>
/// <param name="parameters"></param>
/// <returns></returns>
IEnumerable<T> GetModelList(string strWhere, object parameters);
/// <summary>
/// 分页查询
/// </summary>
/// <param name="pageNum">页码</param>
/// <param name="rowsNum">每页行数</param>
/// <param name="strWhere">where条件</param>
/// <param name="orderBy">Orde by排序</param>
/// <param name="parameters">parameters参数</param>
/// <returns></returns>
IEnumerable<T> GetListPage(int pageNum, int rowsNum, string strWhere, string orderBy, object parameters);
#endregion
}
}
实现:
using Dapper;
using MVC.Common;
using MVC.Interface;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MVC.BLL
{
public class BaseRepository<T> : IBaseRepository<T>
{
private IDbConnection _connection;
public bool Add(T model)
{
int? result;
using (_connection= DbClient.OpenConnection())
{
result= _connection.Insert(model);
if (result > 0)
{
return true;
}
else
{
return false;
}
}
}
public bool Delete(int Id)
{
int? result;
using (_connection = DbClient.OpenConnection())
{
result =_connection.Delete<T>(Id);
}
if (result > 0)
{
return true;
}
else
{
return false;
}
}
public bool DeleteList(string strWhere, object parameters)
{
int? result;
using (_connection = DbClient.OpenConnection())
{
result =_connection.DeleteList<T>(strWhere,parameters);
}
if (result > 0)
{
return true;
}
else
{
return false;
}
}
public IEnumerable<T> GetListPage(int pageNum, int rowsNum, string strWhere, string orderBy, object parameters)
{
using (_connection = DbClient.OpenConnection())
{
return _connection.GetListPaged<T>(pageNum, rowsNum, strWhere, orderBy, parameters); ;
}
}
public T GetModel(int Id)
{
using (_connection = DbClient.OpenConnection())
{
return _connection.Get<T>(Id);
}
}
public IEnumerable<T> GetModelList(string strWhere, object parameters)
{
using (_connection = DbClient.OpenConnection())
{
return _connection.GetList<T>(strWhere, parameters);
}
}
public bool Update(T model)
{
int? result;
using (_connection = DbClient.OpenConnection())
{
result =_connection.Update(model);
}
if (result > 0)
{
return true;
}
else
{
return false;
}
}
}
}
C#ORM框架Dapper封装相关推荐
- .NET轻量级ORM框架Dapper入门精通
一.课程介绍 本次分享课程包含两个部分<.NET轻量级ORM框架Dapper修炼手册>和<.NET轻量级ORM框架Dapper葵花宝典>,阿笨将带领大家一起领略轻量级ORM框架 ...
- bltoolkit mysql_.NET 轻量级 ORM 框架 - Dapper 介绍
转自:https://blog.csdn.net/hanjun0612/article/details/52170204 Dapper简单介绍: Dapper is a single file you ...
- 轻量级ORM框架Dapper应用三:使用Dapper实现In操作
IN 操作符允许我们在 WHERE 子句中规定多个值. 本篇文章中,还是使用和上篇文章中同样的实体类和数据库,Dapper使用in操作符的代码如下: 1 using System; 2 using S ...
- 轻量级ORM框架Dapper应用四:使用Dapper返回多个结果集
使用Dapper的QueryMultiple方法可以一次执行多条SQL语句,返回多个结果集,代码如下 1 using System; 2 using System.Collections.Generi ...
- 轻量级ORM框架Dapper应用二:使用Dapper实现CURD操作
在上一篇文章中,讲解了如何安装Dapper,这篇文章中将会讲解如何使用Dapper使用CURD操作. 例子中使用到的实体类定义如下: 1 using System; 2 using System.Co ...
- android ORM框架LitePal 封装SQLite
LitePal的基本用法 虽说LitePal宣称是近乎零配置,但也只是"近乎"而已,它还是需要进行一些简单配置才可以使用的,那么我们第一步就先快速学习一下LitePal的配置方法. ...
- PetaPoco - 轻量级高性能的ORM框架(支持.NET Core)
我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db. 而且市面上的orm框架有很多,有重量级的Entity Framework,有 ...
- Net Core下多种ORM框架特性及性能对比
在.NET Framework下有许多ORM框架,最著名的无外乎是Entity Framework,它拥有悠久的历史以及便捷的语法,在占有率上一路领先.但随着Dapper的出现,它的地位受到了威胁,本 ...
- .NET(C#)有哪些主流的ORM框架,FreeSql,SqlSugar,Dapper,EF还是...
前言 在以前的一篇文章中,为大家分享了<什么是ORM?为什么用ORM?浅析ORM的使用及利弊>.那么,在目前的.NET(C#)的世界里,有哪些主流的ORM,FreeSql,SqlSugar ...
最新文章
- 英特尔AI医疗实战手册曝光:医生诊断提速10倍,推理时间减少85%
- Python--DBUtil
- 转载——CVE-2019-0807
- 接口自动化- 基于 Python
- Openstack平台搭建之第二天
- 使用VIsio绘制E-R图
- python下载百度文库文档_Python百度文库爬虫之txt文件
- 线性代数笔记2:基本子空间的正交性及性质
- 叶罗丽颜值测试软件齐娜多少分,精灵梦叶罗丽:美颜相机下灵公主16岁、齐娜7岁,他竟然拍的46岁...
- 禅与 JavaScript 编程艺术, Zen and The Art of JavaScript Programming
- Contour Integral
- Windows双显示器扩展怎么设置上下扩展
- 40页PPT详解金融业智能反欺诈的应用
- 什么是云计算的?云计算的定义、特征、模型分别是什么?
- 页面收录和关键词选取
- PHP的_FILE_用法
- [bzoj5507] [洛谷P5305] [gzoi2019]旧词
- 使用convert命令将pdf转成图片时遇到的一个问题
- 阿里系纯滑块验证码破解思路
- 社区电商平台运营新模式 社交零售电商私域流量新玩法
热门文章
- 2.12黑马培训日记
- wrap(),wrapAll(),wrapInner()的区别
- SpringBoot 接口层统一加密解密
- OSX上pf的简单配置笔记
- My97DatePicker-WdatePicker日历日期插件详细示例
- 一个前端er写在2015年末的话
- 报错:cannot match operand(s)in the condition to the corresponding edges in the enclosing event control
- 【腾讯鲜为人知的重武器4】秘密武器“数据挖掘”
- flink的广播、累加、缓存
- 电商巨头的「隐秘」战场