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文件,编译后 ...
随机推荐
- 单元测试JUnit 4(二)——keeps the bar green to keeps the code clean
1.Failure和Error Failure是指测试失败 Error是指测试程序本身出错 (int a=10/0) 2.JUnit常用注解 2.1 @RunWith: 可以更改测试运行器(继承o ...
- Coreseek-带中文分词的Sphinx
Sphinx并不支持中文分词, 也就不支持中文搜索, Coreseek = Sphinx + MMSEG(中文分词算法) 1.下载 1).到官网下载 2).解压后有三个文件夹 csft-3.2.14: ...
- python-创建列表
创建个空列表 album = [] 创建非空列表 album = ['Black Star','David Bowie',25.True] 向列表中添加新的元素 append 方法,元素自动地排列到列 ...
- ubuntu系统安装nginx出现的错误(依赖环境没有安装完)
报错信息: error: the HTTP image filter module requires the GD library. 编译参数:(或源安装) ./configure --prefix= ...
- 安装inkscape for mac注意事项
今天为了安装inkscape for mac,搞了一下午.按以前的方法,先安最新的XQuartz,再安最新的inkscape,在运行inkscape前先打开XQuartz.但是发现不行了,inksca ...
- unity, GetComponent<Renderer>().bounds.size vs GetComponent<MeshFilter>().sharedMesh.bounds.size
GetComponent<MeshFilter>().sharedMesh.bounds.size获得的是未经缩放的大小. GetComponent<Renderer>().b ...
- JPA(二):EntityManager
上述我们知道什么是JPA了,接下来这篇文章就主要为大家介绍JPA的一个重要内容:EntityManager.不论什么对实体的操作都是通过它来完毕的. 先来说说什么是EntityManager.顾名思义 ...
- python之读取Excel 文件
# -*- coding: utf-8 -*- """ Created on Thu May 24 13:53:10 2018 @author: Frank " ...
- 【网络爬虫】Httpclient4.X中使用HTTPS的方法采集12306网站
HttpClient请求https的实例: package train; import java.io.IOException; import java.security.NoSuchAlgorith ...
- vue 过渡效果-列表过渡
到目前为止,关于过渡我们已经讲到, 单个节点 同一时间渲染多个节点的一个 那么怎么同时渲染整个列表,比如使用v-if?在这种场景下,使用<transition-group>组件,在我们深入 ...