-
游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。
赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!
TheHackerWorld官方
- 0
赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!
TheHackerWorld官方
问题
HACK1949
把Dapper 换成 SqlSugar ORM类的方法详解
为什么要写这篇文章
因数我看到很多人虽然用着SqlSugar,但是同时也用着Dapper,因为SqlSugar兼容了Dapper所有API,所以既然你用了SqlSugar那么就没有必要在同一个项目中使用2个ORM
所以这篇文章是给使用SqlSugar或者你想使用SqlSugar的朋友看的
Dapper 介绍
Dapper是一个轻量级开源的ORM类,他是通过扩展IDbConnection提供一些有用的扩展方法去查询您的数据库,所以Ado.Net支持的数据库,他都可以支持。
在速度方面具有“King of Micro ORM”的头衔,几乎与使用原始的ADO.NET数据读取器一样快。很多人第一次使用了他之后,就深深的喜欢上他了。
SqlSugar 介绍
SqlSugar 同样轻量级小巧,功能方面更加全面,需求都是来自1000多开发人员的真实项目需求,在这些需求上进行完美的设计,经过5年多的积累,
可以完美满足企业级的所有需求特别是查询功能,支持了各种类型的返回例如DataTable、List、字典等,还支持各种查询,
例如一次查询多个结果集,当然也支持存储过程
性能对比
在基础功能查询上性能双方是相当接近的,并且在不同CPU多台电脑上进行过大量测试,性能SqlSugar一点不占下风,甚至更好,
在SqlSugar源码中有对比代码,这边我就不多介绍了,性能永远是自个比才是真实的,别人比都是虚假的
移植教程
1、Sql加参数查询
Dapper 使用Sql加参数查询
/// <summary>
/// 查询列表
/// </summary>
/// <param name="sql">查询的sql</param>
/// <param name="param">替换参数</param>
/// <returns></returns>
public
static
List<T> Query(
string
sql,
object
param)
{
using
(SqlConnection con =
new
SqlConnection(connectionString))
{
return
con.Query<T>(sql, param).ToList();
}
}
SqlSugar 使用Sql加参数查询
/// <summary>
/// 查询列表
/// </summary>
/// <param name="sql">查询的sql</param>
/// <param name="param">替换参数</param>
/// <returns></returns>
public
static
List<T> Query(
string
sql,
object
param)
{
using
(SqlSugarClient con =
new
SqlSugar.SqlSugarClient(connectionConfig))
{
return
con.Ado.SqlQuery<T>(sql, param);
}
}
其中Object param支持3种类型
1、new {id=1} 匿名对象
2、SugarParameter
3、SugarParameter[] 或者List<SugarParameter>
2、根据Sql查询单条
Dapper根据Sql查询单条
/// <summary>
/// 查询第一个数据
/// </summary>
/// <param name="sql"></param>
/// <param name="param"></param>
/// <returns></returns>
public
static
T QueryFirst(
string
sql,
object
param)
{
using
(SqlConnection con =
new
SqlConnection(connectionString))
{
return
con.QueryFirst<T>(sql, param);
}
}
SqlSugar根据Sql查询单条
/// <summary>
/// 查询列表
/// </summary>
/// <param name="sql">查询的sql</param>
/// <param name="param">替换参数</param>
/// <returns></returns>
public
static
List<T> Query(
string
sql,
object
param)
{
using
(SqlSugarClient con =
new
SqlSugar.SqlSugarClient(connectionConfig))
{
return
con.Ado.SqlQuerySingle<T>(sql, param);
}
}
3、增、删、改
Dapper增、删、改
// <summary>
/// 增删改
/// </summary>
/// <param name="sql"></param>
/// <param name="param"></param>
/// <returns></returns>
public
static
int
Execute(
string
sql,
object
param)
{
using
(SqlConnection con =
new
SqlConnection(connectionString))
{
return
con.Execute(sql, param);
}
}
SqlSugar增、删、改
/// <summary>
/// 增、删、改
/// </summary>
/// <param name="sql">查询的sql</param>
/// <param name="param">替换参数</param>
/// <returns></returns>
public
static
int
Query(
string
sql,
object
param)
{
using
(SqlSugarClient con =
new
SqlSugar.SqlSugarClient(connectionConfig))
{
return
con.Ado.ExecuteCommand(sql, param);
}
}
链接帖子
意见的链接
分享到其他网站
这个问题有0个答案
推荐的帖子