Dapper的语法应用
(1)返回某个整型或字符串类型的字段
public string GetSupplierCodeById(int Id)
{
using( var conn=DbFactory.CreateConnection())
{
var result = conn.Query<dynamic>(GetSupplierCodeByIdSql, new { Id = Id }).FirstOrDefault();
return result.Code;
}
}
/// 添加包装
/// </summary>
/// <param name="p"></param>
public int AddPackSP(Pack p)
{
using (var conn = DbFactory.CreateConnection())
{
//var result = conn.Execute(AddPackSPSql, p);
var result = conn.Query<dynamic>(AddPackSPSql, p).FirstOrDefault();
return result != null ? Convert.ToInt32(result.PackId) : ;
}
}
(2)返回一个对象
public Material GetMaterialByCode(string code)
{
using (DbConnection conn = DbFactory.CreateConnection())
{
var result = conn.Query<Material>(GetMaterialByCodeSql,
new { Code = code }).FirstOrDefault();
return result;
}
}
(3)返回一个集合
返回一条数据:
public IList<Supplier> GetValidSupplier(int employeeId)
{
using (var conn = DbFactory.CreateConnection())
{
var result = conn.Query<Supplier>(GetValidSupplierByEIdSql,
new { EmployeeId = employeeId }).ToList();
return result;
}
}
返回多条数据:
public IList<Supplier> GetSupplierList(int supplierType)
{
using (var conn = DbFactory.CreateConnection())
{
var result = conn.QueryMultiple(GetSupplierListBySupplierTypeSql,
new { SupplierType = supplierType }).Read<Supplier>().ToList();
return result;
}
}
(4)返回bool类型(判断是否增删改成功或是否被引用等)
public bool IsUsed(int supplierId)
{
using (var conn = DbFactory.CreateConnection())
{
var result = conn.QueryMultiple(IsUsedSql,
new { SupplierId = supplierId }).Read<int>().Single() > ;
return result;
}
}
public bool DeleteMaterial(int materialId)
{
using (DbConnection conn = DbFactory.CreateConnection())
{
bool result = conn.Execute(DeleteMaterialSql, new { Id = materialId }) > ; return result;
}
}
Dapper的语法应用的更多相关文章
- 给力分享新的ORM => Dapper( 转)
出处:http://www.cnblogs.com/sunjie9606/archive/2011/09/16/2178897.html 最近一直很痛苦,想选一个好点的ORM来做项目,实在没遇到好的. ...
- Nhibernate与Dapper对比,及Nhibernate增删改和9种查询语法
1,Sql语法. NH:HQL Dapper:原生Sql. 点评:原生Sql可以直接放在数据库里执行,Hql不行,且Hql增加学习负担.(Hn也可以原生Sql,但好像用的不多呀) 2,开发速度. NH ...
- 搭建一套自己实用的.net架构(3)续 【ORM Dapper+DapperExtensions+Lambda】
前言 继之前发的帖子[ORM-Dapper+DapperExtensions],对Dapper的扩展代码也进行了改进,同时加入Dapper 对Lambda表达式的支持. 由于之前缺乏对Lambda的知 ...
- 初学C#和MVC的一些心得,弯路,总结,还有教训(3)--Dapper
经过一番深思熟虑,决定先用Dapper吧..... 以下是我感觉比较有用的一些东西 Dapper项目地址 https://github.com/StackExchange/dapper-dot-ne ...
- Dapper
前一段做一个技术分享关于dapper的,现在再总结一下,也好长时间没有更新博客了--,用到的东西 Dapper.AutoFac .AutoMapper.FluentValidation: 下面说一下D ...
- 轻型的ORM类Dapper
Dapper是一个轻型的ORM类.代码就一个SqlMapper.cs文件,主要是IDbConnection的扩展方法,编译后就40K的一个很小的dll.官方站点http://code.google.c ...
- Dapper小型ORM的使用(随便吐槽下公司)
近来公司又有新项目要做,之前做项目用过蛮多ORM,包括ef,NetTiers,ServiceStack.OrmLite等ROM,每种ORM都有一定的坑(或者说是使用者的问题吧~~).用来用去都觉的有一 ...
- 用事实说话,成熟的ORM性能不是瓶颈,灵活性不是问题:EF5.0、PDF.NET5.0、Dapper原理分析与测试手记
[本文篇幅较长,可以通过目录查看您感兴趣的内容,或者下载格式良好的PDF版本文件查看] 目录 一.ORM的"三国志" 2 1,PDF.NET诞生历程 2 2,Linq2 ...
- Dapper ORM 用法—Net下无敌的ORM(转)
假如你喜欢原生的Sql语句,又喜欢ORM的简单,那你一定会喜欢上Dapper这款ROM.点击下载Dapper的优势:1,Dapper是一个轻型的ORM类.代码就一个SqlMapper.cs文件,编译后 ...
随机推荐
- 基于Netty的RPC简易实现
代码地址如下:http://www.demodashi.com/demo/13448.html 可以给你提供思路 也可以让你学到Netty相关的知识 当然,这只是一种实现方式 需求 看下图,其实这个项 ...
- sharepoint admin svc must be running in order to create deployment timer job 若要创建计时器作业,必须执行SVC
sharepoint admin svc must be running in order to create deployment timer job 若要创建计时器作业.必须执行SVC ...
- Maven的镜像设置
文件位置 国内的阿里云 <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven< ...
- Windows 10 KMS 激活方法
本篇文章由:http://xinpure.com/windows-10-activate-method/ 摘抄: http://www.nruan.com/win-key.html 须知:如果需要在线 ...
- Sublime Text 3 JS 格式化插件 JsFormat的配置使用
1.首先需要下载安装包:(下载地址:https://github.com/jdc0589/JsFormat) 2.插件包放到sublime安装目录的Data\Packages目录中 3.快捷键 Ctr ...
- linuxshell中"2>&1"含义
http://blog.sina.com.cn/s/blog_652819220100wpvu.html
- Android数据格式解析对象JSON用法
1.JSON概念: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性,从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. JSON可以将 ...
- PHP 抽象类的使用
//抽象类就是一个模版 abstract class db{ /* 参数:sql语句 返回值:索引的数组 */ abstract public function test($str); //没有方法体 ...
- Canvas转换为Blob对象并使用Ajax发送
Canvas转换为Blob对象并使用Ajax发送 转换为Blob对象后,可以使用Ajax上传图像文件. 先从canvas获取dataurl, 再将dataurl转换为Blob对象 var dataur ...
- 多线程-Executor,Executors,ExecutorService,ScheduledExecutorService,AbstractExecutorService
引用 系统启动一个新线程的成本是比较高的,因为涉及与操作系统交互.使用线程池可以很好地提高性能,尤其是当程序中需要创建大量生存期很短的线程时,更应该考虑使用线程池.线程池在系统启动时即创建大量空闲的线 ...