Re0:在.NetCore 中Dapper的基本用法
整理一下目前在用的Dapper
与FrameWork不同,NetCore数据库配置需要从appsettings.json中获取
刚接触的时候被这块坑了,自己手动建了个app.config。然后你懂的(笑哭)
读取配置文件:
public class AppSetting
{
private static readonly object objLock = new object();
private static AppSetting instance = null; private IConfigurationRoot Config { get; } private AppSetting()
{
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
Config = builder.Build();
} public static AppSetting GetInstance()
{
if (instance == null)
{
lock (objLock)
{
if (instance == null)
{
instance = new AppSetting();
}
}
} return instance;
} public static string GetConfig(string name)
{
if (string.IsNullOrWhiteSpace(name))
{
return "name is null";
}
return GetInstance().Config.GetSection(name).Value;
}
}
日常够用的几个方法:
/// <summary>
/// 返回行数
/// </summary>
/// <param name="sql">SQL</param>
/// <returns></returns>
public static int Execute(string sql)
{
string URL = AppSetting.GetConfig("ConnectionStringsDapper:DB");
IDbConnection conn = new SqlConnection(URL);
int result = conn.Execute(sql);
return result;
} /// <summary>
/// 返回List
/// </summary>
/// <param name="sql">SQL</param>
/// <returns></returns>
public static dynamic Query(string sql)
{
string URL = AppSetting.GetConfig("ConnectionStringsDapper:DB");
IDbConnection conn = new SqlConnection(URL);
dynamic result = conn.Query(sql);
return result;
} /// <summary>
/// 返回单条
/// </summary>
/// <param name="sql">SQL</param>
/// <returns></returns>
public static dynamic QueryFirst(string sql)
{
string URL = AppSetting.GetConfig("ConnectionStringsDapper:DB");
IDbConnection conn = new SqlConnection(URL);
dynamic result = conn.QueryFirst(sql);
return result;
}
Controller中调用:
string sql = "bula bula bula";
dynamic result = Query(sql); string sql = "bula bula bula";
dynamic result = QueryFirst(sql); string sql = "bula bula bula";
int result= Execute(sql);
Re0:在.NetCore 中Dapper的基本用法的更多相关文章
- Re0:在 .NetCore中 EF的基本使用
整理一下目前在用的EFCore 记得好像是因为懒得写sql,于是开始试着用EF 先根据数据库生成一个好东西,嗯 Scaffold-DbContext "Data Source=localho ...
- netcore中的缓存介绍
Cache(缓存)是优化web应用的常用方法,缓存存放在服务端的内存中,被所有用户共享.由于Cache存放在服务器的内存中,所以用户获取缓存资源的速度远比从服务器硬盘中获取快,但是从资源占有的角度考虑 ...
- Stackoverflow/dapper的Dapper-Extensions用法(二)
之前翻译了Dapper-Extensions项目首页的readme.md,大家应该对这个类库的使用有一些了解了吧,接下来是wiki的文档翻译,主要提到了AutoClassMapper.KeyTypes ...
- Stackoverflow/dapper的Dapper-Extensions用法(一)
Dapper-Extensions Dapper Extensions is a small library that complements Dapper by adding basic CRUD ...
- dapper的Dapper-Extensions用法(一)
dapper的Dapper-Extensions用法(一) Dapper-Extensions Dapper Extensions is a small library that complement ...
- Asp.NetCore 中Aop的应用
前言 其实好多项目中,做一些数据拦截.数据缓存都有Aop的概念,只是实现方式不一样:之前大家可能都会利用过滤器来实现Aop的功能,如果是Asp.NetCore的话,也可能会使用中间件: 而这种实现方式 ...
- .NetCore中的日志(2)集成第三方日志工具
.NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logg ...
- .NetCore中的日志(1)日志组件解析
.NetCore中的日志(1)日志组件解析 0x00 问题的产生 日志记录功能在开发中很常用,可以记录程序运行的细节,也可以记录用户的行为.在之前开发时我一般都是用自己写的小工具来记录日志,输出目标包 ...
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
随机推荐
- 获取mysql一组数据中的第N大的值
create table tb(name varchar(10),val int,memo varchar(20)) insert into tb values('a', 2, 'a2') inser ...
- js获取链接?后边的参数名称或者值
1.获取后边的参数名称<script type="text/javascript"> var url = location.search; //获取url中" ...
- office+visio2016版本一同安装说明
安装所需软件: Office或者visio镜像 比如:cn_visio_professional_2016_x86_x64_dvd_6970929.iso 下载网址:http://pan.baidu. ...
- 洛谷1546 最短网络Agri-Net【最小生成树】【prim】
[内含最小生成树Prim模板] 题目:https://www.luogu.org/problemnew/show/P1546 题意:给定一个邻接矩阵.求最小生成树. 思路:点少边多用Prim. Pri ...
- python自动华 (五)
Python自动化 [第五篇]:Python基础-常用模块 目录 模块介绍 time和datetime模块 random os sys shutil json和pickle shelve xml处理 ...
- Educational Codeforces Round 40 (Rated for Div. 2) 954G G. Castle Defense
题 OvO http://codeforces.com/contest/954/problem/G 解 二分答案, 对于每个二分的答案值 ANS,判断这个答案是否可行. 记 s 数组为题目中描述的 a ...
- VueCropper 图片裁剪
基于vue的图片裁剪vue-cropper 简小咖 关注 0.2 2018.12.12 15:42 字数 164 阅读 3900评论 1喜欢 3 vue-cropper官网http://xyxiao ...
- php win/linux/mac 安装redis扩展或者扩展报错 zend_smart_str.h file not found
1 windows 安装reids 扩展 根据phpinfo 查看php信息.在pecl.php.net 下载对应的redis扩展版本,放如扩展目录,在php.ini 配置扩展信息,重启服务 2 li ...
- 前端逼死强迫症系列之css
一.编写css样式 1.ID选择器 由于ID唯一,所以也是写多遍. <head> <style> #i1{ background-color: #2459a2; height: ...
- ie8 ajax 跨域问题
最近做了个客服端要通过ocx获得初始化数据就是一个html页面镶嵌在一个c++做的程序里面通过c++做的程序的一个按钮来打开我的这个html页面但是页面中的ajax就是用不了又不报错 后来加入了cro ...