dapper

.NET中使用FastReport实现打印功能

╄→尐↘猪︶ㄣ 提交于 2020-04-25 14:33:16
FastReport是功能非常强大的报表工具,在本篇文章中讲解如何使用FastReport实现打印功能。 一、新建一个窗体程序,窗体上面有设计界面和预览界面两个按钮,分别对应FastReport的设计和预览功能,其实现代码如下: 1 using FastReport; 2 using System; 3 using System.Collections.Generic; 4 using System.ComponentModel; 5 using System.Data; 6 using System.Data.SqlClient; 7 using System.Drawing; 8 using System.IO; 9 using System.Linq; 10 using System.Text; 11 using System.Threading.Tasks; 12 using System.Windows.Forms; 13 using Dapper; 14 15 namespace FastReportDemo 16 { 17 public partial class Form1 : Form 18 { 19 public Form1() 20 { 21 InitializeComponent(); 22 } 23 24 private void btn_Design

同时支持EF+Dapper的混合仓储,助你快速搭建数据访问层

落花浮王杯 提交于 2020-04-25 14:32:10
背景 17年开始,公司开始向DotNet Core转型,面对ORM工具的选型,当时围绕Dapper和EF发生了激烈的讨论。项目团队更加关注快速交付,他们主张使用EF这种能快速开发的ORM工具;而在线业务团队对性能有更高的要求,他们更希望使用能直接执行Sql语句的Dapper,这样可控性更高。而对于架构团队来说,满足开发团队的各种需求,提高他们的开发效率是最核心的价值所在,所以当时决定做一个混合型的既支持EF又支持dapper的数据仓储。 为什么选择EF+Dapper 目前来说EF和Dapper是.NET平台最主流的ORM工具,团队成员的接受程度很高,相关的资料非常齐全,学习成本很低,各种坑也最少。 介绍 它不是一个ORM工具,它不做任何关于数据底层的操作 它是一个简易封装的数据库仓储和工作单元模型 能帮助你快速的构建项目的数据访问层 经过了2年多时间,10个项目组,大小近100多个线上项目的考验 支持EF和Dapper,可以在项目中随意切换使用 支持工作单元模式,也支持传统事务 支持Mysql和Mssql 支持同步和异步操作,推荐使用异步 PS: 简单操作使用EF,复杂sql操作使用Dapper是快速开发的秘诀。 使用方法 引入nuget <PackageReference Include="Leo.Chimp" Version="2.1.1" /> 创建实体对象

Dapper一个和petapoco差不多的轻量级ORM框架

做~自己de王妃 提交于 2020-04-25 14:31:53
我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db,而且市面上的orm框架有很多,其中有一个框架 叫做dapper,而且被称为the king of ORM。 一:为什么选择Dapper 1. 性能优越: 其实在各大网站上,我们大概都会看到这样的一个对比效果图,在超过500次poco serialization的过程中所表现的性能,我们发现dapper是第二名, 当然第一名谁也无法超越,越底层的当然久越快,同时也就越麻烦。就好像谁能超过“01代码”呢??? 2. 支持多数据库 支持多数据库的本质是因为Dapper是对IDBConnection接口进行了方法扩展,比如你看到的SqlMapper.cs,一旦你这样做了,我们也知道, SqlConnection,MysqlConnection,OracleConnection都是继承于DBConnection,而DBConnection又是实现了IDBConnection的接口,对吧。。。 二:安装Dapper install dapper的方式通常有两种: 1. 通过nuget进行安装   如果你不知道怎么用nuget进行安装,或者不知道install-package是什么,可以在browser上找一下,比如下面这样: 然后我们copy到package console

.net Dapper 学习系列(1) ---Dapper入门

为君一笑 提交于 2020-04-25 14:31:35
[toc] 写在前面 Dapper 是一款轻量级ORM架构。为解决网站访问流量极高而产生的性能问题而构造,主要通过执行TSQL表达式而实现数据库的CQRS。 如果在项目中遇到性能访问问题,选择Dapper作为ORM框架可能是明智之举,当然也可以使用Entity Framework或NHibernate来处理大数据访问及关系映射。 为什么选择Dapper 1.轻量:只有一个文件夹(SqlMapper.cs),编译完成之后只有140K。 2.速度快:Dapper的速度接近于IDataReader,取列表的数据超过了DataTable。是公认速度第二快的小型ORM框架。 3.支持多种数据库:Dapper可以在所有Ado.Net Providers下工作,包括sqlLite、Oracle、MySQL、SQL Server。 4.可以映射一对一、一对多、多对多等各种关系。 5.性能高:通过Emit反射IDataReader的序列队列,来快速的得到和产生对象,性能不错。 在项目中安装Dapper 说了再多Dapper 如何好,如何快。都不如实践一番。接下来我们在项目中安装并使用Dapper。 第一步:打开 vs 2013 ,文件-->新建-->项目 然后,选择空的mvc模板。点击确定,创建一个mvc的项目。 第二步:工具-->nuGut程序包管理器-->程序包管理器控制台 第三步:输入

Dapper入门使用,代替你的DbSQLhelper

◇◆丶佛笑我妖孽 提交于 2020-04-25 14:31:20
Dapper介绍 Dapper是.Net下的一个轻量级ORM框架.在小型工具向的项目下,使用Dapper会使数据库操作层代码更加优雅。 Dapper的使用 在项目中使用引用Dapper非常简单,你可以选择两种方式: 1.在NuGet引用 2.Github下载源代码,添加到项目当中去 Dapper 项目地址 https://github.com/StackExchange/Dapper 添加项目 Dapper 到你自己的项目当中去,这样可以直接调试Dapper的源代码 个人感觉添加源代码到项目当中比较可靠,遇到问题可以直接跟踪 Dapper项目 添加Dapper源代码到项目当中 CURD操作 表结构 CREATE TABLE [dbo].[BAS_NAME]( [ID] [INT] NULL, [NAME] [VARCHAR](50) NULL, [OTHER] [VARCHAR](50) NULL, [DATE] [DATETIME] NULL ) ON [PRIMARY] 1.Insert操作 代码中看出,直接使用Execute加实体的方式相比传统 SqlParameter的方式更加方便。 IDbConnection conn = new SqlConnection(connectionString); //Insert string insetSql = "INSERT dbo

关于ef+codefirst+mysql/dapper(dbFirse)(入门)

六眼飞鱼酱① 提交于 2020-04-25 13:53:45
  ef+mssql详细是许多.net程序员的标配。作为一个程序员当然不能只会mssql这一个数据库,今天简单聊聊ef+mysql。推荐新人阅读。   1】首先创建一个mvc项目,如图: 创建完毕之后再nuget中分别引用MySql.Data、MySql.Data.Entity、EntityFramework(注意MySql.Data、MySql.Data.Entity版本必须一致) 2】创建数据库连接 1)在model文件夹下创建一个UserTs.cs public class UserTs { [Key] // id public string id { get ; set ; } // 姓名 public string cusName { get ; set ; } } View Code 2)然后创建MYDBContext.cs // 数据库上下文 public class MYDBContext : DbContext { public MYDBContext() : base ( " name=conncodefirst " ) { } public DbSet<UserTs> Customer { get ; set ; } } View Code 3)在web.config中添加以下代码 <startup> <supportedRuntime version= "

在 .NET Core 中使用 Diagnostics (Diagnostic Source) 记录跟踪信息

隐身守侯 提交于 2020-04-23 14:45:34
前言 最新一直在忙着项目上的事情,很久没有写博客了,在这里对关注我的粉丝们说声抱歉,后面我可能更多的分享我们在微服务落地的过程中的一些经验。那么今天给大家讲一下在 .NET Core 2 中引入的全新 DiagnosticSource 事件机制,为什么说是全新呢? 在以前的 .NET Framework 有心的同学应该知道也有 Diagnostics,那么新的 .NET Core 中有什么变化呢? 让我们一起来看看吧。 Diagnostics Diagnostics 一直是一个被大多数开发者忽视的东西,我猜测很多同学看到这里的时候可能还是第一次听说 Diagnostics 这个东西,为什么会被忽视呢? 我们等会说,我们先来看一下 Diagnostics 是用来做什么的。 Diagnostics 是什么呢? 让我们把时间往前拉回到 2013 年 8 月,微软在 NuGet 发布了一个新的关于 Diagnostics 的包叫做 Microsoft.Diagnostics.Tracing.TraceEvent ,这个包用来为 Windows 事件追踪(ETW)提供一个强大的支持,使用这个包可以很容易的为我们在云环境和生产环境来提供端到端的监控日志事件记录,它轻量级,高效,并且可以和系统日志进行交互。 PS:通过这个包我们可以获取到 CLR 运行的一些细节信息,由于本篇主题

行车记+翻车记:.NET Core 新车改造,C# 节能降耗,docker swarm 重回赛道

狂风中的少年 提交于 2020-04-23 07:27:24
非常抱歉,10:00~10:30 左右博客站点出现故障,给您带来麻烦了,请您谅解。 故障原因与博文中谈到的部署变更有关,但背后的问题变得非常复杂,复杂到我们都在怀疑与阿里云服务器 CPU 特性有关。 这篇博文本来准备 9:30 左右发布的,但发布博文时出现了 docker swarm 部署异常情况,切换到 docker-compose 部署后问题依旧,一直到 10:30 左右才恢复正常,继续发布这篇博文,在标题中加上了“翻车记”。 原先的博文正文开始: 周一向大家 汇报车况 之后,我们的 .NET Core 新车继续以 docker-compose 手动挡的驾驶方式行驶在信息高速公路上,即使昨天驶上了更快的高速(并发量更大的访问高峰),也没有翻车。经过这周3天访问高峰的考验,我们终于可以充满信心地宣布——我们度过了新车上路最艰难的磨合期,开新车的剧情从“翻车记”进入到了“行车记”。 翻车成为历史,行车正在进行时,但离我们的目标“飙车”还有很长的一段距离,“行车记”更多的是修车记,新车改造记。 目前这辆 .NET Core 新车有2个重大问题,一是油耗高(CPU消耗高),有时还会断油(CPU 100% 造成 502),二是手动挡驾驶实在太累。 针对油耗高问题,这两天我们从节能降耗角度对博客系统的 C# 代码进行了优化。 从日志中发现,有些特别长的 url 会造成 ASP.NET

istio kiali jaeger 关联

心不动则不痛 提交于 2020-04-21 23:22:26
总目录索引: istio从入门到放弃系列 1、jaeger 介绍 jaeger 官网: https://www.jaegertracing.io/ jaeger 是 Uber 开源的分布式跟踪系统,用于微服务的监控和全链路跟踪,其设计思想来自于 Dapper 和 zipkin。jaeger 特征包括: 分布式上下文传播 分布式事务监控 Root 原因分析 服务依赖性分析 性能/延迟优化 2、jaeger 安装 如果你使用 istioctl profile demo 安装 istio 的话,jaeger 默认就是安装好的 为了可以将 jaeger 暴露在 k8s 集群外访问,需要将 jaeger-query 的 ClusterIP 服务类型更改为 NodePort。执行语句如下 kubectl patch svc -n istio-system jaeger-query -p '{"spec":{"type": "NodePort"}}' 3、kiali 关联 jaeger kiali 是可视化服务网格组件,截图如下: 点击上面箭头 Distributed Tracing 链接可以打开 jaeger。如果访问不到,说明你本地的浏览器并不能直接访问到 kiali 设置的 jaeger 外部链接。 4、设置 kiali jaeger 外部链接地址 编辑 kiali configmap:

【原创】基于.NET的轻量级高性能 ORM

拟墨画扇 提交于 2020-04-18 08:45:07
【前言】   接上一篇《 【原创】打造基于Dapper的数据访问层 》,Dapper在应付多表自由关联、分组查询、匿名查询等应用场景时不免显得吃力,经常要手写SQL语句(或者用工具生成SQL配置文件)。试想一下,项目中整个DAL层都塞满了SQL语句,对于后期维护来说无异于天灾人祸,这个坑谁踩谁知道。本框架在API设计上最大程度地借鉴 EntityFramework 的写法,干净的实体,丝滑的增删改查,稳健的导航属性,另外还支持链式查询(点标记)、查询表达式、聚合查询等等。在实体映射转换层面,使用 Emit 来动态构建绑定指令,性能最大限度地接近原生水平。 【XFramework 亮点】 原生.NET语法,零学习成本 支持LINQ查询、拉姆达表达式 支持批量增删改查和多表关联更新 支持 SqlServer、MySql、Postgre、Oracle,.NET Core 最大亮点,真正支持一对一、一对多导航属性。这一点相信现有开源的ORM没几个敢说它支持的 实体字段类型不必与数据库的类型一致 支持临时表、表变量操作 提供原生ADO操作 其它更多亮点,用了你就会知道 【性能】      看看与EntityFramework的性能对比,机器配置不同跑出来的结果可能也不一样,仅供参考。需要特别说明的是EntityFramework是用了AsNoTracking的