金沙国际官网_金沙国际平台登录

因为这个金沙国际官网_金沙国际平台登录网站与很多的大型澳门赌场都有合作,金沙国际官网_金沙国际平台登录尽职尽责,高效执行,保持好奇心,不断学习,追求卓越,点击进入金沙国际官网_金沙国际平台登录马上体验吧,所以现在也正式地开始了营业。

您的位置:金沙国际官网 > 编程 > 打印开发中关于打印协议,Dapper简易教程

打印开发中关于打印协议,Dapper简易教程

发布时间:2019-11-01 16:54编辑:编程浏览(193)

    正文源自: 

    本博客小编与Github上作者(cnxy)实为同一个小编。由于小编翻译水平有限,文本中漏洞非常多难免,招待指正!

     

    TextTabBar控件

    打字与印刷机打字与印刷左券有二种,EPOS和ESC/POS.

    正文翻译自:StackExchange.Dapper

    一、          样式一

    对于EPOS的打字与印刷开荒,能够采取微软的库POS.NET举行支付(连接打字与印刷机需求利用逻辑名字, 能够在打字与印刷机官方网址下载相关的驱动),对于ESC/POS,能够应用串口开发(连接打字与印刷机必要利用com口名字,对于除com口之外的打字与印刷机需求在官网络下载相关的驱动)

    原版教程源自:Dapper Tutorial

     图片 1

    中文教程源自:中文Dapper教程.GitBook

    小编们要落实上海教室中的效果,须要如下的操作:

    华语教程PDF:dapper-tutorial-cn

    1. 从工具栏上的“Smobiler Components”拖动二个TextTabBar控件到窗体分界面上

    Dapper - .Net版本的简洁明了对象映射器

     图片 2

    发行表达

    请见 stackexchange.github.io/Dapper

    1. 修改TextTabBar的属性
      1. BackColor属性

    组件

    Nuget稳定版:

    https://www.nuget.org/packages/Dapper
    

    Visual Studio 程序包处理器调节台:

    PM> Install-Package Dappe
    

    特点

    Dapper是一个NuGet库,您能够将其增添到项目中,以恢宏您的IDbConnection接口。

    它提供了3个应用办法:

    安装控件的背景观为“18, 183, 245”,如图1;

    施行三个询问并将结果映射到强类型列表

    public static IEnumerable<T> Query<T>(this IDbConnection cnn, string sql, object param = null, SqlTransaction transaction = null, bool buffered = true)
    

    示例:

    public class Dog
    {
        public int? Age { get; set; }
        public Guid Id { get; set; }
        public string Name { get; set; }
        public float? Weight { get; set; }
    
        public int IgnoredProperty { get { return 1; } }
    }
    
    var guid = Guid.NewGuid();
    var dog = connection.Query<Dog>("select Age = @Age, Id = @Id", new { Age = (int?)null, Id = guid });
    
    Assert.Equal(1,dog.Count());
    Assert.Null(dog.First().Age);
    Assert.Equal(guid, dog.First().Id);
    

     图片 3

    实行一个查询并将其映射到动态目的列表

    public static IEnumerable<dynamic> Query (this IDbConnection cnn, string sql, object param = null, SqlTransaction transaction = null, bool buffered = true)
    

    那个方法会施行SQL语句,并赶回二个动态列表。

    示例:

    var rows = connection.Query("select 1 A, 2 B union all select 3, 4");
    
    Assert.Equal(1, (int)rows[0].A);
    Assert.Equal(2, (int)rows[0].B);
    Assert.Equal(3, (int)rows[1].A);
    Assert.Equal(4, (int)rows[1].B);
    

    图 1设置分界面

    奉行不回来结果的指令

    public static int Execute(this IDbConnection cnn, string sql, object param = null, SqlTransaction transaction = null)
    

    示例:

    var count = connection.Execute(@"
      set nocount on
      create table #t(i int)
      set nocount off
      insert #t
      select @a a union all select @b
      set nocount on
      drop table #t", new {a=1, b=2 });
    Assert.Equal(2, count);
    
    1. Border属性

    一再试行命令

    还允许行使同风姿潇洒的参数具名方便有效地频仍试行命令(例如批量加载数据)

    示例:

    var count = connection.Execute(@"insert MyTable(colA, colB) values (@a, @b)",
        new[] { new { a=1, b=1 }, new { a=2, b=2 }, new { a=3, b=3 } }
      );
    Assert.Equal(3, count); // 插入3行: "1,1", "2,2" 与 "3,3"
    

    那适用于已经落成IEnumerable接口的聚焦对象T。

    安装控件边框,将该属性设置为“1,1,1,1”,如图 2;

    性能

    Dapper的二个要害性情是性质。 以下度量标准显示了对DB试行500个SELECT讲话并将重返的数据映射到目的所需的年华。

    品质测量检验分为3个列表:

    • 支撑从数据库中领到静态类型对象框架的POCO类别化,使用原生SQL语句。
    • 协助回到动态目的列表框架的动态种类化。
    • 特出的框架用法:日常规范的框架使用与一流使用品质分明例外,而且它不会涉及编写制定SQL语句。

     图片 4

    超出500次迭代的SELECT映射品质 - POCO体系化

    方法 执行时间 备注
    手工编码 (使用 SqlDataReader) 47ms  
    Dapper ExecuteMapperQuery 49ms  
    ServiceStack.OrmLite (使用Id查询) 50ms  
    PetaPoco 52ms 可以更快
    BLToolkit 80ms  
    SubSonic CodingHorror 107ms  
    NHibernate SQL 104ms  
    Linq 2 SQL ExecuteQuery 181ms  
    Entity framework ExecuteStoreQuery 631ms  

    图 2设置分界面

    超过500次迭代的SELECT映射品质 - 动态种类化

    方法 执行时间 备注
    Dapper ExecuteMapperQuery (动态) 48ms  
    Massive 52ms  
    Simple.Data 95ms  
    1. BorderColor属性

    超越500次迭代的SELECT映射品质 - 标准用法

    方法 执行时间 备注
    Linq 2 SQL CompiledQuery 81ms 非典型的且不涉及复杂的代码
    NHibernate HQL 118ms  
    Linq 2 SQL 559ms  
    Entity framework 859ms  
    SubSonic ActiveRecord.SingleOrDefault 3619ms  

    天性基准测验信息 点击这里.

    可以自由提交富含别的ORM的补丁 - 运营条件测量试验时,请保管在Release中编写翻译,且无法附加调节和测量试验器 (Ctrl+F5).

    抑或,你可以应用Frans Bouma的RawDataAccessBencher或OrmBenchmark测验套件作为测量试验工具使用。

    安装控件边框颜色,将该属性设置为“White”,如图 3;

    参数化查询

    能够无名氏类型作为参数进行传递,那足以轻巧地命名这一个参数名称,且能够在数据库平台的查询解析器中归纳地选用剪切、粘贴SQL语句并运维。

    new {A = 1, B = "b"} // A映射到参数@A,B映射到参数@B
    

    图片 5 

    列表匡助

    Dapper允许将IEnumerable<int>作为传递参数,并能够自行地参数化查询

    例子:

    connection.Query<int>("select * from (select 1 as Id union all select 2 union all select 3) as X where Id in @Ids", new { Ids = new int[] { 1, 2, 3 } });
    

    以少将被调换到:

    select * from (select 1 as Id union all select 2 union all select 3) as X where Id in (@Ids1, @Ids2, @Ids3)" // @Ids1 = 1 , @Ids2 = 2 , @Ids2 = 3
    

    图 3装置分界面

    文字代替

    Dapper辅助布尔与数字类型的文字取代。

    connection.Query("select * from User where UserId = {=Id}", new {Id = 1}));
    

    文字替换不作为参数发送; 越来越好的安顿和过滤索援用法将被允许,但平时应严峻在测量试验后使用。 当注入的值实际上是固定值(比如,特定于查询的“体系ID”,“状态代码”或“区域”)时,此意义非常有用。 当你在研商文字live数据时,也许有望想到also并测量检验特定于提供程序的询问提醒,如含有常规参数的OPTIMIZE FOR UNKNOWN

    1. BorderRadius属性

    缓冲与未缓冲阅读器

    Dapper的暗中认可行为是实践SQL并在回来时缓冲整个阅读器。 在大多数状态下,那是精美的,因为它最小化了数据库中的分享锁并压缩了数据库互联网时间。

    可是,在实践大气询问时,可能供给最小化内存占用并仅依照要求加载对象。 为此,将buffered:false传递给Query方法。

    安装控件边框的角度,将该属性设置为“5”,如图 4;

    本文由金沙国际官网发布于编程,转载请注明出处:打印开发中关于打印协议,Dapper简易教程

    关键词: