随笔分类 -  C#

Docker+.Net Core 的那些事儿-1.准备工作
摘要:1.下载centos 地址:https://www.centos.org/download/ 我使用的是DVD ISO,这么做的目的是为了在之后的docker填坑的路上,方便使用centos中Firefox来确定docker中的app能否正常访问。 当然,如果使用curl命令也是可以测试的,这就看各 阅读全文

posted @ 2017-07-22 13:29 Kakura 阅读(457) 评论(0) 推荐(1)

C# 事件
摘要:C# 事件包含以下对象或元素: 近期学习了一下C#中事件的用法,因为平时用的不多,所以简单的看了看,做个笔记。 EventArgs:事件发生时事件处理方法需要的数据(状态等),是一个不包含任何逻辑的一个贫血对象。 Delegate EventHandler(Object sender,EventAr 阅读全文

posted @ 2017-01-09 11:19 Kakura 阅读(179) 评论(0) 推荐(0)

Java GC随笔
摘要:最近发生了一些C#程序运行时的一些问题,发现是GC导致的问题,然后稍微研究了一下GC,因为知道Java的GC要比.NET稍微复杂一点,所以我觉得要是能弄懂Java的GC的原理,对.NET的GC的理解也能更深入一些。所以把研究到的整理做了个笔记,以免以后忘记。 什么样的对象会被GC判定要回收的对象: 阅读全文

posted @ 2016-12-09 20:15 Kakura 阅读(266) 评论(0) 推荐(0)

SqlHelper简单实现(通过Expression和反射)10.使用方式
摘要:以下是整个SqlHelper的Demo: 比如在运行到第5行exp.OrderByDescending(a=>a.articleDate)时: 这里就是实现了Lambda到sql的转换。 完整Demo地址:https://github.com/Racpheal/Construction.git 阅读全文

posted @ 2016-11-28 14:39 Kakura 阅读(718) 评论(1) 推荐(1)

SqlHelper简单实现(通过Expression和反射)9.Sql表述对象SqlSession
摘要:此类是整个SqlHelper的另一个核心,基本思想就是通过EntityHelper,ObjectHelper和ExpressionHelper获取拼接Select语句的全部元素,拼接出完整Select语句。 阅读全文

posted @ 2016-11-28 14:39 Kakura 阅读(789) 评论(0) 推荐(0)

SqlHelper简单实现(通过Expression和反射)5.Lambda表达式解析类
摘要:这个ExpressionHelper类,是整个SqlHelper中,最核心的一个类,主要功能就是将Lambda表达式转换为Sql语句。同时这个转换过程比较复杂,所以下面详细讲解一下思路和这个类的作用。 0x01基本 在Sql语句中,主要由表名,字段,条件语句等元素组成,而这些元素中,表名,字段可以由 阅读全文

posted @ 2016-11-28 14:38 Kakura 阅读(3708) 评论(1) 推荐(0)

SqlHelper简单实现(通过Expression和反射)7.MySql数据处理类
摘要:MySql的数据处理类和Sql Server没有太大差别,从思路上来说没有区别,所以此处只是给出代码,不再多加解释了。 阅读全文

posted @ 2016-11-28 14:38 Kakura 阅读(369) 评论(1) 推荐(0)

SqlHelper简单实现(通过Expression和反射)3.实体,数据传输对象(DTO)Helper类设计
摘要:EntityHelper的主要功能有: 1.通过反射获取DTO的字段,主要提供给在需要从Entity获取数据后,填充给DTO并返回的作用: 通过反射获取PropertyInfo[]对象,然后取出Name属性,填入新表。 2.获取实体中的字段,主要提供在Select,Update,Insert,Joi 阅读全文

posted @ 2016-11-28 14:38 Kakura 阅读(905) 评论(0) 推荐(0)

SqlHelper简单实现(通过Expression和反射)4.对象反射Helper类
摘要:ObjectHelper的主要功能有: 1.通过反射获取Entity的实例的字段值和表名,跳过自增键并填入Dictionary<string,string>中。 2.通过反射,为实例赋值,此处只是列举了常用的数据类型:int,string和DataTime 阅读全文

posted @ 2016-11-28 14:38 Kakura 阅读(479) 评论(0) 推荐(0)

SqlHelper简单实现(通过Expression和反射)6.Providor模式(工厂+策略)可配置数据库选择
摘要:基本思想,将MsSqlDbUtility和MySqlDbUtility设计成单例模式,通过App.config或Web.config进行默认的数据库设置,然后通过DbUtilityFactory获取DbUtility。 1.接口: 2.工厂类: 阅读全文

posted @ 2016-11-28 14:38 Kakura 阅读(441) 评论(0) 推荐(0)

SqlHelper简单实现(通过Expression和反射)8.Sql Server数据处理类
摘要:这个类基本上就是调用EntityHelper,ExpressionHelper和ObjectHelper来进行各种完整SQL的拼接操作。 阅读全文

posted @ 2016-11-28 14:38 Kakura 阅读(377) 评论(0) 推荐(0)

SqlHelper简单实现(通过Expression和反射)2.特性和实体设计
摘要:对于需求中的不要暴露DataTable或DataSet,我想到了设计中常用的对象:实体(Entity),通过实体将数据库中的字段封装成类,这样做不仅使代码更有可读性,维护起来也很方便。同时我自定义了一些C#特性来表述字段在数据库中的特性。 1.递增键: 2.主键: 3.表名: 测试用例: 阅读全文

posted @ 2016-11-28 14:37 Kakura 阅读(616) 评论(0) 推荐(0)

SqlHelper简单实现(通过Expression和反射)1.引言
摘要:之前老大说要改变代码中充斥着各种Select的Sql语句字符串的情况,让我尝试着做一个简单的SqlHelper,要具有以下功能: 1.不要在业务代码中暴露DataTable或者DataSet类型; 2.可以完成Select操作,需要支持条件查询,分页,单条记录查询,排序,连表,单个值; 3.可以完成 阅读全文

posted @ 2016-11-28 14:37 Kakura 阅读(1259) 评论(4) 推荐(3)

C#中跨库事务处理解决方案
摘要:最近新接手了一项业务,其中有一个方法,需要对业务表进行写入数据,之后记录到日志表中。这部分代码原先是前人写的,他没有采用任何方案,只是简单的调用Ado.net执行了两次写库操作。因此经常出现系统使用者不断发邮件说数据有问题,经过查看原因就是在于写库操作中,有某个表写入失败,但是其他表写入成功,导致出 阅读全文

posted @ 2016-11-28 11:18 Kakura 阅读(3006) 评论(4) 推荐(0)

导航