dapper 注意事项之GUID】的更多相关文章

今天把ef框架换成了dapper,数据库使用的是mysql. 主键使用GUID,mysql数据库中设置的为varchar(36). 使用dapper报错,不能将string转换为GUID,后来调试比对发现,mysql中要使用GUID,必须设置为char(36)不能设置为varchar(36).…
之前在和老何谈论他的开源项目Util中使用MySql的过程中发现了官方dapper在转换guid到string时候的一个错误 Error parsing column 0 (ID=6c2adb93-d81a-4fda-8e25-c6e90d4ebaaa - Object) 在官方github提了issue但一直没有给到更新和回复,其实解决方案也是非常简单的,利用dapper的TypeHandler处理下转换的过程即可 public class StringGuidHandler:SqlMappe…
Skip to content Sign up Sign in This repository Explore Features Enterprise Blog Watch Star , Fork StackExchange/dapper-dot-net branch: master dapper-dot-net/Tests/Tests.cs @mgravellmgravell days ago SO30435185; make it clearer if the caller is passi…
一.概述 目前对于.net的数据访问ORM工具很多,EF和EF Core是一个重量级的框架.最近在搭建新的项目架构,来学习一下轻量级的数据访问ORM工具Dapper.Dapper支持SQL Server,MySQL,Sqlite,SqlCE,Firebird等的高性能Micro-ORM(微ORM框架).最新版本是1.60.16. Dapper扩展了IDbConnection接口,例如实现一个查询方法,Dapper定义的一个Query查询方法如下: public static IEnumerabl…
本文内容 特点 性能 参数化的查询 List 支持 缓存和非缓存的 readers 多个映射 多个结果 存储过程 Ansi Strings 和 varchar 限制和注意事项 Dapper 能运行在我的 db 提供者上吗? 有例子的完整例子列表吗? 谁在使用 Dapper? 参考 跳槽了,新公司的数据库层,准确地说,数据库层和持久层使用 Dapper,这东西的确很方便~个人觉得这种方便性体现在三点: 能很方便地执行数据库 DML 和 DLL 操作.比如,当你执行一个带参数的 SQL 时,SQL…
[转].NET(C#):浅谈程序集清单资源和RESX资源   目录 程序集清单资源 RESX资源文件 使用ResourceReader和ResourceSet解析二进制资源文件 使用ResourceManager解析二进制资源文件 小看RESX资源文件的Designer.cs文件 返回目录 程序集清单资源 在程序集中嵌入资源的最简单方法是什么?那就是使用Visual Studio中的“嵌入式资源(Embedded Resource)”创建选项,相当于使用csc的”/resource”参数.具体步…
平台之大势何人能挡? 带着你的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…
参考:https://msdn.microsoft.com/en-us/library/97af8hh4.aspx 测试代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace GuidToString { class Program { static void Main(string[] args) { Console.WriteLine(" -->…
在mono for android中使用dapper或petapoco,很简单,新建android 类库项目,直接把原来的文件复制过来,对Connection连接报错部分进行注释和修改就可以运行了.(用可移植类库PCL项目也可以的.) 如果需要源码可以联系我.10元收费哈.. 以下内容包括 1.在安卓中创建sqlite数据库; 2.检查数据库是否存在; 3.返回数据库路径; 4.插入数据(前置知识,dapper的使用方法或petapoco的); 5.查询数据; 本人小菜鸟一枚,以下代码写得很烂,…
   上一篇博文中我们快速的介绍了dapper的一些基本CURD操作,也是我们manipulate db不可或缺的最小单元,这一篇我们介绍下相对复杂 一点的操作,源码分析暂时就不在这里介绍了. 一:table sql 为了方便,这里我们生成两个表,一个Users,一个Product,sql如下: <1> Users table CREATE TABLE [dbo].[Users]( ,) NOT NULL, ) NULL, ) NULL, ) NULL, CONSTRAINT [PK_User…
场景: 产品表数据量较大想用Guid做表的主键,并在此字段上建立聚簇索引. 因为Guid是随机生成的,生成的值大小是不确定的,每次生成的数可能很大,也可能很小.这样会影响插入的效率 1.NEWSEQUENTIALID和newid()的区别 NEWSEQUENTIALID() 和 NEWID()都可以产生uniqueidentifier类型的,GUID.NEWID()产生的GUID是无序的,随机的. 而NEWSEQUENTIALID()是SQL SERVER2005新特性,NEWSEQUENTIA…
今天了解并学习了下Dapper的用法,这里简单介绍下 1.安装Nuget Dapper Package包 2.代码 using (IDbConnection connection = new SqlConnection("server=.;database=Test;uid=sa;pwd=123456")) { //通过connection.Execute(sql,object)方法执行增删改 //UserInfo userInfo = new UserInfo(); //userIn…
一.EntityFramework EF是传统的ORM框架,也是一个比较重量级的ORM框架.这里仍然使用EF的原因在于为了突出轻量级ORM框架的性能,所谓有对比才有更优的选择. 1.1 准备一张数据库表 (1)For MSSQL CREATE TABLE [dbo].[Posts] ( [Id] INT NOT NULL PRIMARY KEY IDENTITY, [CategoryId] INT NOT NULL, ) NOT NULL, ) NOT NULL, [Published] DAT…
之前翻译了Dapper-Extensions项目首页的readme.md,大家应该对这个类库的使用有一些了解了吧,接下来是wiki的文档翻译,主要提到了AutoClassMapper.KeyTypes.Predicates System的高级用法用法. 若不熟悉Dapper及Dapper-Extensions的,请移步: <Dapper的基本使用>:http://www.cnblogs.com/Sinte-Beuve/p/4231053.html <Stackoverflow/dappe…
Dapper-Extensions Dapper Extensions is a small library that complements Dapper by adding basic CRUD operations (Get, Insert, Update, Delete) for your POCOs. For more advanced querying scenarios, Dapper Extensions provides a predicate system. The goal…
接口数据处理模块是什么意思呢?实际上很简单,就是使用面向接口的思想和方式来做数据处理. 还提到EntityFramework和Dapper,EntityFramework和Dapper是.net环境下推崇最高的两种ORM工具. 1.EntityFramework是出自微软根正苗红的.net下的ORM工具,直接在Vs工具和Mvc框架中集成了,默认生成的项目就是使用EntityFramework的;微软也一直都在维护更新升级,最新版本都到EF7了.也迁移到了最新的.net Core平台了. 2.Da…
经过一番深思熟虑,决定先用Dapper吧..... 以下是我感觉比较有用的一些东西 Dapper项目地址  https://github.com/StackExchange/dapper-dot-net 初次接触Dapper,简单的范例  https://github.com/xliang/dapper-net-sample 园子里树上的蜗牛 大大写的扩展系列 http://www.cnblogs.com/cyb331/p/3514555.html   文中的下载连接都失效了,这是扩展1.1的下…
由于官方IDE更新到了0.11.112301版本,移除了对Promise的支持,造成事项助手不能正常运行,解决此问题,在项目中引入第三方兼容库Bluebird支持Promise,代码已经整合到项目代码中. 好久没有写关于微信小程序的随笔了,其实是不知道写点什么好,之前的豆瓣图书和知乎日报已经把小程序的基础部分写的很详细了,高级部分的API有些还得不到IDE的调试支持.之前发表了知乎日报小例,有网友问我小程序有没有关于日历显示的组件,可以显示所有天数的,自己看了一遍,好像没有这个组件,所以打算那这…
上一篇介绍了Rainbow的Create方法, 这里就来介绍一下Update方法吧, 毕竟新增和修改是双胞兄弟嘛. 一.Update 1. 测试代码: var conStr = ConfigurationManager.ConnectionStrings["Cons"].ToString(); using (var conn = new MySqlConnection(conStr)) { ); try { db.BeginTransaction(); ; i < ; i++)…
Dapper这个ORM有许多扩展, 我自己用过两种, 也算是比较主流的两种, Rainbow和Extension, 这里就先介绍下Rainbow吧, 毕竟这个先用, 当然, 由于我使用的是mysql数据库(项目中, java和.net结合的, 所以mssql用不了, 就用了mysql), 所以在使用Rainbow插件的时候, 需要修改一下, 这个不是针对mysql的. 由于时间关系, 先来介绍一下Create吧, 万丈高楼Create起. 项目中下载Dapper.Rainbow的方法: PM>i…
感觉好久没有写博客了, 这几天有点小忙, 接下来会更忙, 索性就先写一篇吧. 后面估计会有更长的一段时间不会更新博客了. 废话不多说, 先上菜. 一.示例 1. 先建类, 类的名称与读取的表名并没有什么关系,可以不一样, 然后就是其中的属性大小写不限 public class Tch_Teacher { public int Id { get; set; } public string Name { get; set; } public bool IsDoublePosition { get;…
以下代码摘自imfunny的<给力分享新的ORM => Dapper> http://www.cnblogs.com/imfunny/archive/2011/09/16/2178829.html using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; using Dapper;…
  项目背景 前一段时间,开始做一个项目,在考虑数据访问层是考虑技术选型,考虑过原始的ADO.NET.微软的EF.NH等.再跟经理讨论后,经理强调不要用Ef,NH做ORM,后期的sql优化不好做,公司也没有人对EF,Nh 等orm优化比较熟悉的.强调说的,我们的项目要做的得简单,可以使用ADO.NET 写原始的sql.但我自己还是喜欢ORM的,它可以提高数据访问层的开发.有一天,在订阅张善友 doNet跨平台微信公众号里,看到Dapper的推荐.了解之后,我自己喜欢喜欢Dapper,可以满足我这…
真心想说:其实...我不想用Dapper,如果OrmLite.Net支持参数化的话,也就没Dapper的什么事情了,对于OrmLite.Net只能做后续跟踪...... 这个其实是看了Dapper作者的扩展后觉得不爽,然后自己按照他的设计思路重写了代码,只支持单个数据的增删改查,根据Expression来查的真心无能为力...... 另外作者似乎已经支持了属性.字段等与数据库中的映射..... 具体包含了 1.对字符串的扩展 2.对主键的定义,支持单或多主键,当单主键并且类型为数字时,认为该主键…
Dapper简单介绍: Dapper is a single file you can drop in to your project that will extend your IDbConnection interface. Dapper是一个轻型的开源ORM类,代码就一个SqlMapper.cs文件,编译后就40多K的一个很小的Dll. 官方资料:点击这里 Dapper支持Mysql,SqlLite,Mssql2000,Mssql2005,Oracle等一系列的数据库,当然如果你知道原理也…
Dapper中的一些复杂操作和inner join应该注意的坑 上一篇博文中我们快速的介绍了dapper的一些基本CURD操作,也是我们manipulate db不可或缺的最小单元,这一篇我们介绍下相对复杂 一点的操作,源码分析暂时就不在这里介绍了. 一:table sql 为了方便,这里我们生成两个表,一个Users,一个Product,sql如下: <1> Users table CREATE TABLE [dbo].[Users]( [UserID] [int] IDENTITY(1,1…
dapper的Dapper-Extensions用法(一) Dapper-Extensions Dapper Extensions is a small library that complements Dapper by adding basic CRUD operations (Get, Insert, Update, Delete) for your POCOs. For more advanced querying scenarios, Dapper Extensions provide…
分享一个轻型ORM--Dapper选用理由 推荐理由:Dapper只有一个代码文件,完全开源,你可以放在项目里的任何位置,来实现数据到对象的ORM操作,体积小速度快:) Google Code下载地址: http://code.google.com/p/dapper-dot-net/ https://github.com/SamSaffron/dapper-dot-net 授权协议:Apache License 2.0 用法示例:http://weblogs.asp.net/jalpeshpva…
之前写的ORM对比文章中,我选Dapper作为底层ADO的基础访问框架后,我对此再次进行进一步的深入研究,发现里面还有延伸了一些好用的扩展方法和特性,那我便简单的跟大家说一下特性标签. 一.TableAttribute 特性 这个先对简单,就是对模型进行定义表名,如果你未标注表名特性,默认去模型类型名称,并且此特性只能标注在类上,不能标注在属性,方法等其它作用体上: 二.KeyAttribute [隐式]主键特性 为什么我把它定义隐式呢,关键在于在Insert时,如果你用它标记了一个属性,那这个…
之前ORM比较火热,自己也搞了个WangSql,但是感觉比较low,大家都说Dapper性能好,所以现在学习学习Dapper,下面简单从宏观层面讲讲我学习的Dapper. 再了解一个东西前,先得学会使用,我也不再赘述怎么使用,接转一个文章吧 http://www.cnblogs.com/yankliu-vip/p/4182892.html 好就当学习了吧,该去看看源码了,到底怎么实现和好在哪呢. 先上一张图,已经把SqlMapper.cs按类拆分了,同时我自己在学习过程中也删了加了改了一些类.…