Dapper使用方法】的更多相关文章

sql: SELECT * FROM users; SELECT * FROM posts; SELECT * FROM Posts p LEFT JOIN Users u ON u.Id= p.OwnerId ORDER BY p.Id 结果集:   代码: string sql =@"select * from Posts p left join Users u on u.Id = p.OwnerId Order by p.Id"; PostWithConstructor[] da…
这里记下Dapper容易忘的使用方法: 返回的数据可以有相同名称的列,会分配到不同的类上,默认使用Id这个列作为分割列 connection.Open();  //手动打开的话会保持长连接,否则每次查询之后会关闭连接 构造函数的参数类型必须严格与数据库字段类型相同 /// <summary> /// 也可以直接用数组 /// </summary> public void TestListOfAnsiStrings() { var results = connection.Query…
前面已经介绍了新增/修改/删除了, 接下来介绍一下Rainbow的Read方法. 一.Read -- Rainbow原生 1. 先看测试代码 var conStr = ConfigurationManager.ConnectionStrings["Cons"].ToString(); using (var conn = new MySqlConnection(conStr)) { ); //Rainbow提供方法 ); entity = db.Teacher.First(); var…
首先项目是mvc5+webapi2.0+orm数据处理(dapper)+ef动态创建数据库. 1.项目框架层次结构: mvc项目根据不同的业务和功能进行不同的区域划分[今后项目维护起来方便],model数据结构和mvc传递model进行区分[保证数据结构不外漏],webapi包括接口定义和 接口的实现,业务逻辑的处理.其中数据处理单独放在webapi之外的类库里面. 2.命名规范 以上大致是文件夹与类库的命名.其中业务和功能以三个字母进行命名. 以上为区域命名 3.开发规则与技巧 <一>命名空…
16年年底开发一个项目,拍卖的项目,对于我这个不入流的程序员来说,雪微是个挑战.程序猿这个行业就是学到老用到老吧.个人比较喜欢sql原生的写法,对EF 还是不怎么感冒,EF 虽然强大,但是用起来还不怎么顺手.同时 Dapper 的方法同时存在异步Async,衡量再三还是决定采用Dapper,因为 公司用的MSSQL 所以 在此都是以MSSQL语法为主.Dapper源码:https://github.com/StackExchange/dapper-dot-net一.项目引用 在NuGet里直接搜…
简介 之前事先搜索了下博客园上关于Dapper分页的实现,有是有,但要么是基于存储过程,要么支持分页,而不支持排序,或者搜索条件不是那么容易维护. 代码 首先先上代码: https://github.com/jinweijie/Dapper.PagingSample 方法定义 以下是我的一个分页的实现,虽然不是泛型(因为考虑到where条件以及sql语句的搭配),但是应该可以算是比较通用的了,方法定义如下: public Tuple<IEnumerable<Log>, int> F…
一.前言 上一篇[分层架构设计]我们已经有了架构的轮廓,现在我们就在这个轮廓里面造轮子.项目要想开始,肯定先得确定ORM框架,目前市面上的ORM框架有很多,对于.net人员来说很容易就想到以ADO.NET为基础所发展出来的ORM框架EntityFramework.不得不说EntityFramework是一个功能很强大的ORM框架,到现在最新的EF分别是EF6(.Net Framework)和EF Core(.Net Core)两个版本. 但是这里我使用的另一个叫Dapper的ORM框架,原因是因…
0. 前言 在前一篇中我们讲到了Dapper的应用,但是给我们的感觉Dapper不像个ORM更像一个IDbConnection的扩展.是的,没错.在实际开发中我们经常用Dapper作为对EF Core的补充.当然了Dapper并不仅仅只有这些,就让我们通过这一篇文章去让Dapper更像一个ORM吧. 1. Dapper Contrib Dapper Contrib 扩展了Dapper对于实体类的CRUD方法: 安装方法: 命令行: dotnet add package Dapper.Contri…
首先项目是mvc5+webapi2.0+orm-dapper+ef codefirst+redis+quartz.net+actionmq. 1.项目框架层次结构: 这个mvc项目根据不同的业务和功能进行不同的区域划分,model数据结构和mvc传递model进行区分,webapi包括接口定义和接口的实现,业务逻辑的处理.其中数据处理单独放在webapi之外的db类库里面.…
mvc+webapi 项目架构 首先项目是mvc5+webapi2.0+orm-dapper+ef codefirst. 1.项目框架层次结构: 这个mvc项目根据不同的业务和功能进行不同的区域划分,model数据结构和mvc传递model进行区分,webapi包括接口定义和接口的实现,业务逻辑的处理.其中数据处理单独放在webapi之外的db类库里面.…
最近在看smartSql源码,兄弟写的.写的很不错取取经. 记录下一些学习的东西,刚开始我先不系统的写了,随意一点哈,我看的差不多再给大家一个模块一个模块系统的写. public T ExecuteScalar<T>(RequestContext context) { T result = _sqlRuner.Run<T>(context, DataSourceChoice.Write, (sqlStr, session) => { return session.Connec…
一.概述 本章Web架构分层指南,参考了“Microsoft应用程序体系结构指南”(该书是在2009年出版的,当时出版是为了帮助开发人员和架构师更快速,更低风险地使用Microsoft平台和.NET Framework设计和构建有效,高质量的应用程序).虽然已过去十年了,技术架构已更新(如流行的DDD/CQRS模式,微服务,容器),但web分层思想还是一样可取,下面是一个“传统N分层设计”架构图,该架构在2010年左右是最流行的,包括了表现层presentation,服务层services,业务…
DDD/CQRS模式,微服务,容器 https://docs.microsoft.com/zh-cn/previous-versions/msp-n-p/ee658109(v=pandp.10) Web架构分层指南 一.概述 本章Web架构分层指南,参考了“Microsoft应用程序体系结构指南”(该书是在2009年出版的,当时出版是为了帮助开发人员和架构师更快速,更低风险地使用Microsoft平台和.NET Framework设计和构建有效,高质量的应用程序).虽然已过去十年了,技术架构已更…
JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5)语言    2 (6)人机交换    2 2:键盘功能键的认识和快捷键(掌握)    2 (1)功能键的认识    2 (2)快捷键    3 3:常见的DOS命令(掌握)    3 (1)常见的如下    3 (2)其他的几个(了解)    3 4:Java语言概述(了解)    4 (1)Jav…
一.前言 在非静态页面的项目开发中,必定会涉及到对于数据库的访问,最开始呢,我们使用 Ado.Net,通过编写 SQL 帮助类帮我们实现对于数据库的快速访问,后来,ORM(Object Relational Mapping,对象关系映射)出现了,我们开始使用 EF.Dapper.NHibernate,亦或是国人的 SqlSugar 代替我们原来的 SqlHelper.cs.通过这些 ORM 工具,我们可以很快速的将数据库中的表与代码中的类进行映射,同时,通过编写 SQL 或是 Lambda 表达…
/// <summary> /// dapper通用分页方法 /// </summary> /// <typeparam name="T">泛型集合实体类</typeparam> /// <param name="conn">数据库连接池连接对象</param> /// <param name="files">列</param> /// <par…
首先需要添加 NuGet 包 Dapper 以及引用Configuration <connectionStrings>      <add name="SqlSrc" connectionString="Data Source=.;Initial Catalog=Demo;Integrated Security=True"/> </connectionStrings> using Dapper; using System; usi…
namespace YourNamespace { /// <summary> /// Uses the Name value of the ColumnAttribute specified, otherwise maps as usual. /// </summary> /// <typeparam name="T">The type of the object that this mapper applies to.</typeparam…
VS2017中MVC项目中,右键新建控制器时,提示 未能加载文件或程序集“Dapper.Contrib, Version=1.50.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项.系统找不到指定的文件. 解决办法 右键项目-->清理 搞定…
在使用dapper进行数据查询时遇到的一个问题,今天进行问题重现做一个记录,免得忘记以后又犯同样的错误. 自己要实现的是:select * from tablename where id in(1,2)这样的一个查询语句.自己以为的写法应该是这样的,代码如下: List<CICUser> userList = new List<CICUser>(); using (IDbConnection conn = new SqlConnection(sqlConnectionString)…
string where = null; var p = new DynamicParameters(); if (classId != null) { where = " and classId=:classId "; p.Add("classId", classId); } if (key != null) { where = " and (name like :key or description like :key) "; key = s…
public async Task<int> UpdateStatusByWarehouseId(bool isValid, int warehouseId) { using (var conn = GetDBConnection()) { string sqlText = $@"UPDATE warehouse SET IsValid=@IsValid WHERE WarehouseId=@WarehouseId "; return await conn.ExecuteA…
平台之大势何人能挡? 带着你的Net飞奔吧!http://www.cnblogs.com/dunitian/p/4822808.html#skill 上一篇文章:Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示 官方地址:https://github.com/StackExchange/dapper-dot-net/tree/master/Dapper.Contrib 实战案例:https://github.com/dunitian/LoTCode/tr…
简单记一下,一会出去有点事情~ 我们一般写sql都是==>update NoteInfo set NDataStatus=@NDataStatus where NId in (@NIds) Dapper生成的sql是: 也就自然出错了: 简单修改一下: int i = await NoteInfoBLL.ExecuteAsync("update NoteInfo set NDataStatus=@NDataStatus where NId in @NIds", new { NDa…
0x00 前言 之前一直使用的是 EF ,做了一个简单的小项目后发现 EF 的表现并不是很好,就比如联表查询,因为现在的 EF Core 也没有啥好用的分析工具,所以也不知道该怎么写 Linq 生成出来的 Sql 效率比较高,于是这次的期末大作业决定使用性能强劲.轻便小巧的 ORM —— Dapper. 0x01 Repository 模式 Repository 模式几乎出现在所有的 asp.net 样例中,主要的作用是给业务层提供数据访问的能力,与 DAL 的区别就在于: Repository…
前言 继之前发的帖子[ORM-Dapper+DapperExtensions],对Dapper的扩展代码也进行了改进,同时加入Dapper 对Lambda表达式的支持. 由于之前缺乏对Lambda的知识,还是使用了拿来主义.研究了些案例,总归有些问题: 1.只能生成sql.不能将值进行参数化. 2.lambda解析的代码对sql语法的多样式支持不够 3.不开源,反编译后发现可扩展性不强. 最后选择了Dos.ORM(lambda支持的很好,开源的),在这里尊重原创,大家有兴趣去支持下哈. [作者博…
在mono for android中使用dapper或petapoco,很简单,新建android 类库项目,直接把原来的文件复制过来,对Connection连接报错部分进行注释和修改就可以运行了.(用可移植类库PCL项目也可以的.) 如果需要源码可以联系我.10元收费哈.. 以下内容包括 1.在安卓中创建sqlite数据库; 2.检查数据库是否存在; 3.返回数据库路径; 4.插入数据(前置知识,dapper的使用方法或petapoco的); 5.查询数据; 本人小菜鸟一枚,以下代码写得很烂,…
异常汇总:http://www.cnblogs.com/dunitian/p/4523006.html#dapper 上次说了一下Dapper的扩展Dapper.Contrib http://www.cnblogs.com/dunitian/p/5710382.html 以及这个异常:Dapper.Contrib:GetAsync<T> only supports an entity with a [Key] or an [ExplicitKey] property 这次看看新的异常: 这个的…
ASP.NET Web API 是非常棒的技术.编写 Web API 十分容易,以致于很多开发者没有在应用程序结构设计上花时间来获得很好的执行性能. 在本文中,我将介绍8项提高 ASP.NET Web API 性能的技术. 源码:http://www.jinhusns.com/Products/Download/?type=xcj 1) 使用最快的 JSON 序列化工具 JSON 的序列化对整个 ASP.NET Web API 的性能有着关键性的影响. 在我的一个项目里,我从 JSON.NET…
Dapper.NET使用 http://www.cnblogs.com/yankliu-vip/p/4182892.html 本文目录 Dapper.NET使用 1.为什么选择Dapper 2.以Dapper(4.0)为例. 2.1 在数据库中建立几张表. 2.2实体类. 3.使用方法 3.1  一对一映射 3.2 一对多映射 3.3 插入实体 3.4 执行存储过程 Dapper是一款轻量级ORM工具(Github).如果你在小的项目中,使用Entity Framework.NHibernate…