![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
.Net
孟章豪
微信mzhvery666,欢迎各位大佬相互学习指教。
展开
-
C#手把手教你写一个自己的ORM(完)
对象关系映射(Object Relational Mapping),目前数据库是关系型数据库 , ORM 主要是把数据库中的关系数据映射成为程序中的对象。ORM提供了实现持久化层的另一种模式,它采用映射元数据来描述对象关系的映射,使得ORM中间件能在任何一个应用的业务逻辑层和数据库层之间充当桥梁。Java典型的ORM中间件有:Hibernate,Mybatis等。 这样能够让程序员更多的关注业务编程,而不用浪费在SQL语句的编写上。原创 2022-12-06 11:54:16 · 989 阅读 · 0 评论 -
教你怎么取出Expression<Func<T,object>>表达式的参数属性
教你怎么取出Expression表达式的参数属性原创 2022-06-28 16:45:19 · 773 阅读 · 0 评论 -
轻量级 类型转换工具 分享 比automapper更强大
轻量级Automapper 自己写的一个无需注入的轻量级automapper扩展方法,需要类型转换直接使用就行。转换规则:1、相同字段转换、不看大小写。2、自定义转换字段columnA > columnB,不看空格大小写。需要的自取,代码在下面。/// <summary> /// 快速格式转换工具 /// </summary> /// <typeparam name="T">目标类型</typepara原创 2021-12-27 09:34:02 · 327 阅读 · 0 评论 -
全局异常处理中间件、过滤器
全局异常处理中间件、过滤器前言1、使用中间件或者全局异常过滤器可以很大程度上减少你的冗余代码,提升代码的美观以及可维护性。2、这种做法在行内,也称之为 微服务。废话不多说,直接上代码// 异常处理过滤器using log4net;using log4net.Config;using log4net.Repository;using Microsoft.AspNetCore.Http;using Microsoft.AspNetCore.Mvc.Filters;using Newton原创 2021-11-26 18:02:28 · 716 阅读 · 0 评论 -
将泛类型集合List类转换成DataTable
将泛类型集合List类转换成DataTablepublic DataTable ListToDataTable<T>(List<T> entitys){ //取出第一个实体的所有Propertie Type entityType = entitys[0].GetType(); PropertyInfo[] entityProperties = entityType.GetProperties(); //生成DataTable的s原创 2021-09-16 16:57:52 · 270 阅读 · 0 评论 -
Linq通过 三个字段排序
Linq通过 三个字段排序小技巧,记录一下三重排序,从外至内写,依次从内至外分组排序,最后selectMany组合在一起本次是根据单元号UnitNo -> 楼层号floor -> 房号id排序lst = lst.GroupBy(x => x.UnitNo).OrderBy(x => x.Key) .SelectMany(x => x.GroupBy(y => y.floor).OrderBy(y => y.Key).S原创 2021-09-14 11:47:56 · 339 阅读 · 0 评论 -
MySQL及Oracle数据库导出数据表结构
Mysql及Oracle数据库导出数据表结构废话不多说,直接上代码MySQLselect distinctcolumn_comment AS "字段名称",column_name AS "名称",DATA_TYPE AS "字段数据类型",case IS_NULLABLE when "YES" then "否" ELSE "是" END "必填",ifnull(CHARACTER_MAXIMUM_LENGTH,0) "值域",column_comment AS "备注"from inf原创 2021-09-14 10:28:00 · 143 阅读 · 0 评论 -
C#-INotifyPropertyChanged(解决数据绑定的界面刷新问题)
C#-INotifyPropertyChanged(解决数据绑定的界面刷新问题)https://www.cnblogs.com/guofeiji/p/5277834.html原创 2021-08-24 10:02:07 · 486 阅读 · 0 评论 -
通过反射取值——特性、属性(C#)
通过反射取值——特性、属性(C#)C# 反射(Reflection)反射指程序可以访问、检测和修改它本身状态或行为的一种能力。程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。优缺点优点:1、反射提高了程序的灵活性和扩展性。2、降低耦合性,提高自适应能力。3、它允许程序创建和控制任何类的对象,无需提前硬编码目标类。缺点:.原创 2021-08-04 14:58:12 · 1861 阅读 · 0 评论 -
Attribute特性3——自定义特性AttributeUsage
Attribute特性3——自定义特性AttributeUsageAttributeUsage预定义特性 AttributeUsage 描述了如何使用一个自定义特性类。它规定了特性可应用到的项目的类型。规定该特性的语法如下:[AttributeUsage(validon,AllowMultiple=allowmultiple,Inherited=inherited)]其中:参数 validon 规定特性可被放置的语言元素。它是枚举器 AttributeTargets 的值的组合,设置多个原创 2021-08-02 15:16:01 · 570 阅读 · 0 评论 -
Attribute特性2——丢弃特性ObsoleteAttribute
Attribute特性2——丢弃特性ObsoleteAttribute这个预定义特性标记了不应被使用的程序实体。它可以让您通知编译器丢弃某个特定的目标元素。例如,当一个新方法被用在一个类中,但是您仍然想要保持类中的旧方法,您可以通过显示一个应该使用新方法,而不是旧方法的消息,来把它标记为 obsolete(过时的)。规定该特性的语法如下:[Obsolete(message)][Obsolete(message,iserror)]其中:参数 message,是一个字符串,描述项目为什么过原创 2021-08-02 11:40:39 · 1173 阅读 · 0 评论 -
Attribute特性1——条件编译ConditionalAttribute
Attribute特性1——条件编译ConditionalAttribute这个预定义特性标记了一个条件方法,其执行依赖于指定的预处理标识符相当于#ifdef。多用于区分开发环境,执行不同的程序块。它会引起方法调用的条件编译,取决于指定的值,比如 Debug。例如,当调试代码时显示变量的值。规定该特性的语法如下:[Conditional(conditionalSymbol(这是预定义的标识符))]例如:#define DEBUG[Conditional(“DEBUG”)]简单说,就是给类原创 2021-08-02 11:01:02 · 280 阅读 · 0 评论 -
冒泡排序BubbleSort
**冒泡排序BubbleSort**排序的入门算法,但是在实际开发中并不少见,建议,不,一定要会。编程语言,何谓语言,无他,唯手熟尔,不必深究原理。直接上代码: // 冒泡排序方法 public static void bubbleSort(int[] arr) { // 外层循环,次数为数组长度-1-1,最后一次不需要比较 for (int i = 0; i < arr.Length-2; i++)原创 2021-07-21 14:50:49 · 108 阅读 · 0 评论 -
快速排序详解quickSort
**快速排序详解**前言:快速排序在交换排序中,属于性能特别高的一种排序,很多情况下都是面试必考题,可以了解一下。我不讲究原理,网上一大堆都可以收到,只要会用,用一段时间你自然就懂了,直接上代码: //快速排序方法 public static void quickSort(int[] arr, int low, int high) { // 不满足快排条件,直接返回 if (low >= high)原创 2021-07-21 14:34:52 · 193 阅读 · 0 评论 -
教你搞懂==和Equals的关系
教你搞懂==和Equals的关系先上代码using System;namespace ConsoleApp3{ class Program { static void Main(string[] args) { object a = 1, b = 1; int c = 1, d = 1; if (a == b) { Co原创 2021-07-13 10:48:06 · 139 阅读 · 0 评论 -
比较两个字典是否相等
.Net:比较两个字典是否相等有些情况下会遇到比较两个字典是否相等的问题直观来想,会比较键是否一致,其对应的值是否相等 但是同时,作为一个合格的程序猿,我们更应该考虑的是效率问题。 废话不多说,方案如下:先准备数据// 先准备两个字典,赋初值。Dictionary<int, object> dic1 = new Dictionary<int, object>(); Dictionary<int, object> dic2 = ne原创 2021-07-08 16:52:49 · 2739 阅读 · 2 评论