自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试

从 .net6.0 到 .net8.0,我们肉眼看不到变化,实际微软做了很多内部工作,在 aot 使用体验上明显能感知。有人说信创国产运行,那现在 aot 算什么?发布速度变快,目前20-30秒一次实在太慢编译前检查错误,而不是等发布后再报运行时错误加强调试,.pdb 100兆++ 为何调试还都是 c++ 有关内容,不能白瞎了这么大的调试文件啊尽快修复 Console.WriteLine(Enum.GetValues(typeof(TaskInterval))) 这个问题。

2023-11-16 15:01:27 1903

原创 [开源福利] FreeRedis 历时两年正式发布 v1.0 [C#.NET Redis Client]

NET 下 RedisClient SDK 选择挺多,国人常用免费的有 StackExchange.Redis/CSRedis/Newlife.Redis,收费的有 ServiceStack.Redis。如果你是 CSRedis 或 ServiceStack.Redis 粉,那么一定要不要错过关注 FreeRedis,它们的 API 非常相似,方法名、参数与 redis.io 官方命令文档保持一致,避免了二次转换的理解成本。redis 命令可是有接近300个呢~~~

2022-09-18 21:34:00 872 1

原创 [设计模式] 静态代理居然能解决这种问题,我惊讶了!

23种`设计模式`都会了吗?今天讲一下`静态代理模式`的实战场景。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。举个例子来说明:假如说我现在想买一辆二手车,虽然我可以自己去找车源,做质量检测等一系列的车辆过户流程,但是这确实太浪费我得时间和精力了。我只是想买一辆车而已为什么我还要额外做这么多事呢?于是我就通过中介公司来买车,他们来给我找车源,帮我办理车辆过户流程,我只是负责选择自己喜欢的车,然后付钱就可以了。为什么要用代理模式?

2022-09-13 12:11:56 353

原创 FreeSql 导入数据的各种场景总结 [C#.NET ORM]

同服务器从A表导数据到B表批量导入新数据批量新增或更新数据跨服务器从A表导数据到B表每种场景有自己的特点,我们一般会根据特点定制做导入数据优化,减少总体导入的耗时,或者避免数据库IO/CPU占用过高,而影响到其他正常业务。FreeSql 有好几个实用功能,流式读取数据、查询并插入、批量对比更新、插入或修改(支持实体类或字典),用好这些功能可以很方便的实现各种导入数据场景。

2022-09-07 20:01:55 912

原创 [开源精品] C#.NET im 聊天通讯架构设计 -- FreeIM 支持集群、职责分明、高性能

FreeIM 使用 websocket 协议实现简易、高性能(单机支持5万+连接)、集群即时通讯组件,支持点对点通讯、群聊通讯、上线下线事件消息等众多实用性功能。使用场景:好友聊天、群聊天、直播间、实时评论区、游戏。FreeIM 解耦了通讯与业务模块,让项目架构变得更加简单易维护。解决了业务与通讯的职责冲突,简化了架构,降低了维护成本。经历 1年半的生产环境,整理代码于 2018 年开源。...

2022-08-29 15:36:18 3081

原创 [开源精品] .NET 定时任务 -- FreeScheduler 支持 cron、持久化、可变定时设置

FreeScheduler 轻量化定时任务调度,支持临时的延时任务和重复循环任务(可持久化),可按秒,每天/每周/每月固定时间,自定义间隔执行(CRON表达式),支持 .NET Framework 4.0,.NETCore2.1 +,Xamrin、MAUI 等平台 运行环境。特色功能之一:FreeScheduler 支持一个任务设置 [5,5,30,30,60] 不同的定时间隔,任何一次成功都可结束整个任务。.NET 定时组件生态实在太强大了,写下此文只希望能供大家多一个选择,不想重复造轮子,实在是事出有因

2022-08-25 10:32:31 1378 3

原创 C#.NET ORM FreeSql 读取使用 US7ASCII 的 Oracle 数据库中文显示乱码问题

FreeSql 支持 MySql/SqlServer/PostgreSQL/Oracle/Sqlite/Firebird/达梦/Gbase/神通/人大金仓/翰高/Clickhouse/MsAccess Ado.net 数据库,以及 Odbc 的专门实现包。FreeSql.Cloud 为 FreeSql 提供跨数据库访问,分布式事务TCC、SAGA解决方案,支持 .NET Core 2.1+, .NET Framework 4.0+.

2022-08-23 05:18:21 1159

原创 [跨数据库、微服务] FreeSql 分布式事务 TCC/Saga 编排重要性

FreeSql 支持 MySql/SqlServer/PostgreSQL/Oracle/Sqlite/Firebird/达梦/Gbase/神通/人大金仓/翰高/Clickhouse/MsAccess Ado.net 数据库,以及 Odbc 的专门实现包。FreeSql.Cloud 为 FreeSql 提供跨数据库访问,分布式事务TCC、SAGA解决方案,支持 .NET Core 2.1+, .NET Framework 4.0+....

2022-08-17 14:43:01 471 1

原创 FreeSql 将 Saas 租户方案精简到极致[.NET ORM]

维基百科:“软件多租户是指一种软件架构,在这种软件架构中,软件的一个实例运行在服务器上并且为多个租户服务”。一个租户是一组共享该软件实例特定权限的用户。有了多租户架构,软件应用被设计成为每个租户提供一个 专用的实例包括该实例的数据的共享,还可以共享配置,用户管理,租户自己的功能和非功能属性。多租户和多实例架构相比,多租户分离了代表不同的租户操作的多个实例。多租户用于创建Saas(Software as-a service)应用(云处理)。...

2022-08-06 00:11:31 338

原创 【设计过程】.NET ORM FreeSql WhereDynamicFilter 动态表格查询功能

FreeSql 有一个用户很迷的功能 WhereDynamicFilter 动态表格查询,本文讲解它的设计初衷,如何高效理解,从此不再迷惑。小时候学习编程,老师经常教导我们,程序 = 数据结构 + 算法,今天就以我自身的认知讲解该功能的完整设计过程,其中包含数据结构和算法。对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据

2022-07-17 11:34:38 724 1

原创 .NET Redis Client 又多了一个选择,还在被 StackExchange.Redis Timeout 问题困扰吗?

.NET 下 RedisClient SDK 选择挺多,国人常用免费的有 StackExchange.Redis/CSRedis/Newlife.Redis,收费的有 ServiceStack.Redis。小弟从接手 CSRedis 代码 2016 年至今维护了6年,原因是初入 .NETCore 坑可选择性少,使用的 StackExchange.Redis 发生 Timeout 问题无法解决,项目首急上线于是使用了 CSRedis,由于作者停止维护一些扩展或功能得不到解决,所以后来直接引入源码到项目内改进,

2022-07-07 20:18:56 718

原创 [开源] .Net ORM 访问 Firebird 数据库

Firebird 是一个跨平台的关系数据库系统,目前能够运行在 Windows、linux 和各种 Unix 操作系统上,提供了大部分 SQL-99 标准的功能。FreeSql 支持 Firebird 嵌入式数据库,与 Sqlite 一样属于本地数据库,并且可靠性强于 sqlite,数据库文件不过 10兆 大小。...

2022-07-07 19:21:18 296

原创 PostgreSQL Array 数组类型与 FreeSql 打出一套【组合拳】

PostgreSQL 是世界公认的功能最强大的开源数据库,除了基础数据类型 int4/int8/varchar/numeric/timestamp 等,还支持 int4[]/int8[]/varchar[]/numeric[]/timestamp[] 数组类型、hstore 类型(类似 c# Dictionary)、gis 类型。选择一项技术一定是可以帮助我们提升效率,并且使用一定是非常简便的,才能让我们赚取更多时间,早点下班甚至上班摸鱼。这篇文章主要讲数组类型,如何与 Fr...

2022-06-07 20:34:25 1079

原创 【低码】asp.net core 实体类可生产 CRUD 后台管理界面

前言介绍喜欢小规模团队的"单打独斗",有的时候即使在大公司,也经常做着3-5个人团队的小项目,相信很多人有类似的经历。本文介绍如何将项目中已存在的【实体类】,直接生产出 CRUD 后台管理界面。对于通用后台管理系统的生成,除了单纯的对单表 crud 操作外,我还喜欢利用导航属性的操作,比如:1、Song、Tag 多对多场景,添加/更新 Song 时可以把 Tag 一起保存;2、列表页,希望外键、多对多出现在过滤筛选条件;3、列表页,希望枚举出现在过滤筛选条件;4、删除时,级联删除所有相关数据;

2022-05-19 11:49:00 275

原创 .NET ORM 仓储层必备的功能介绍之 FreeSql Repository 实现篇

FreeSql.Repository 除了 CRUD 还有很多实用性功能,不防耐下心花10分钟看完。支持 .NetFramework4.0+、.NetCore、Xamarin、MAUI、Blazor、以及还有说不出来的运行平台,因为代码绿色无依赖,支持新平台非常简单。目前单元测试数量:6336+,Nuget下载数量:900K+。支持 MySql/SqlServer/PostgreSQL/Oracle/Sqlite/Firebird/达梦/神通/人大金仓/翰高/MsAccess Ado.net 实现包,以及

2022-05-06 15:26:45 1156

转载 [开源] .Net ORM FreeSql 1.10.1 稳步向前

写在开头FreeSql 是 .NET 开源生态下的 ORM 轮子,转眼快两年了,说真的开源不容易(只有经历过才明白)。今天带点干货和湿货给大家,先说下湿货。认识我的人,知道 CSRedisCore 是我写的另外一个开源组件,这个项目是 2016 年从 ctstone/csredis 项目 clone 到自己工作的项目中,修改源码经过一年多生产考验,于 2017 年发布开源 https://github.com/2881099/csredisctstone/csredis 项目于 2014 年停止了更新

2020-10-23 08:07:27 724

转载 2020年 .NET ORM 完整比较、助力选择

.NET ORM 前言为什么要写这篇文章?希望针对 SEO 优化搜索引擎,让更多中国人知道并且使用。目前百度搜索 .NET ORM 全是 sqlsugar,我个人是无语的,每每一个人进群第一件事就是拿来比较,每天要重复回答、重复解答、说服他们。想说服标签是名气大、使用者多的同类型 .NET ORM 非常困难,最多只能让他们勉强接受。FreeSql 不愿做自己发光的金子,希望在 2020年 写下这篇完整一点的 .NET ORM 比较,为准备使用 FreeSql 的朋友解惑,能排上百度搜索引擎当然再好不过了

2020-09-14 08:20:17 514

原创 .NET ORM 导航属性可以解决什么问题?

写在开头从最早期入门时的单表操作,到后来接触了 left join、right join、inner join 查询,因为经费有限,需要不断在多表查询中折腾解决实际需求,不知道是否有过这样的经历?本文从实际开发需求讲解导航属性(ManyToOne、OneToMany、ManyToMany)的设计思路,和到底解决了什么问题。提示:以下示例代码使用了 FreeSql 语法,和一些伪代码。入戏准备FreeSql 是 .Net ORM,能支持 .NetFramework4.0+、.NetCore、Xa

2020-08-30 01:21:28 313

原创 .NET ORM 分表怎么做?.NET ORM 分库怎么做?

理论知识分表 - 从表面意思上看呢,就是把一张表分成N多个小表,每一个小表都是完正的一张表。分表后数据都是存放在分表里,总表只是一个外壳,存取数据发生在一个一个的分表里面。分表后单表的并发能力提高了,磁盘I/O性能也提高了。并发能力为什么提高了呢,因为查寻一次所花的时间变短了,如果出现高并发的话,总表可以根据不同 的查询,将并发压力分到不同的小表里面。分库 - 把原本存储于一个库的数据分块存储到多个库上,把原本存储于一个表的数据分块存储到多个表上。数据库中的数据量不一定是可控的,在未进行分表分库的情况下

2020-08-30 01:20:18 306

原创 .NET数据库事务进化总结

事务是数据库系统中的重要概念,本文讲解作者从业 CRUD 十余载的事务多种使用方式总结。以下所有内容都是针对单机事务而言,不涉及分布式事务相关的东西!关于事务原理的讲解不针对具体的某个数据库实现,所以某些地方可能和你的实践经验不符。认识事务为什么需要数据库事务?转账是生活中常见的操作,比如从A账户转账100元到B账号。站在用户角度而言,这是一个逻辑上的单一操作,然而在数据库系统中,至少会分成两个步骤来完成:1.将A账户的金额减少100元2.将B账户的金额增加100元。在这个过程中可能

2020-08-24 20:49:05 307

原创 [开源] .Net 使用 ORM 访问 神舟通用数据库(神通)

前言天津神舟通用数据技术有限公司(简称“神舟通用公司”),隶属于中国航天科技集团(CASC)。是国内从事数据库、大数据解决方案和数据挖掘分析产品研发的专业公司。公司获得了国家核高基科技重大专项重点支持,是核高基专项的牵头承担单位。自1993年在航天科技集团开展数据库研发以来,神通数据库已历经27年的发展历程。公司核心产品主要包括神通关系型数据库、神通KStore海量数据管理系统、神通商业智能套件等系列产品研发和市场销售。基于产品组合,可形成支持交易处理、MPP数据库集群、数据分析与处理等解决方案,可满足多

2020-06-28 08:41:36 962

原创 FreeSql 使用 ToTreeList/AsTreeCte 查询无限级分类表

关于无限级分类第一种方案:使用递归算法,也是使用频率最多的,大部分开源程序也是这么处理,不过一般都只用到四级分类。 这种算法的数据库结构设计最为简单。category表中一个字段id,一个字段fid(父id)。这样可以根据WHERE id = fid来判断上一级内容,运用递归至最顶层。分析:通过这种数据库设计出的无限级,可以说读取的时候相当费劲,所以大部分的程序最多3-4级分类,这就足以满足需求,从而一次性读出所有的数据,再对得到数组或者对象进行递归。本身负荷还是没太大问题。但是如果分类到更多级,那是

2020-06-28 06:56:00 840

原创 [开源] .Net ORM 访问 人大金仓数据库

前言京人大金仓信息技术股份有限公司(以下简称“人大金仓”)是具有自主知识产权的国产数据管理软件与服务提供商。人大金仓由中国人民大学一批最早在国内开展数据库教学、科研、开发的专家于1999年发起创立,先后承担了国家“863”、“核高基”等重大专项,研发出了具有国际先进水平的大型通用数据库产品。2018年,人大金仓申报的“数据库管理系统核心技术的创新与金仓数据库产业化”项目荣获2018年度国家科学技术进步二等奖,产学研的融合进一步助力国家信息化建设。随着华为、中兴事务,国产数据库市场相信是未来是趋势走向,纵

2020-05-28 18:27:00 1136

原创 [开源] .Net orm FreeSql 1.5.0 最新版本(番号:好久不见)

废话开头这篇文章是我有史以来编辑最长时间的,历时 4小时!!!原本我可以利用这 4小时编写一堆胶水代码,真心希望善良的您点个赞,谢谢了!!很久很久没有写文章了,上一次还是在元旦发布 1.0 版本的时候,今年版本规划是每月底发布小版本(年底发布 2.0),全年的开源工作主要是收集用户需求增加功能,完善测试,修复 bug。FreeSql 1.0 -> 1.5 相隔半年有哪些新功能?只能说每个功能都能让我兴奋,并且能感受到使用者也一样兴奋(妄想症)。迫不及待的人会问,这更新速度也太快了吧,升级会不会

2020-05-25 03:29:10 3145

原创 [开源] .NetFramework .NetCore Xamarin 使用 ORM FreeSql 访问 Sqlite

1、创建项目我们以 console 类型项目试验 插入、删除、更新、查询 等功能,创建控制台项目,使用命令:dotnet new consoledotnet add package FreeSql.Provider.Sqlitedotnet add package FreeSql.Repository2、创建实体模型using System;using FreeSql...

2020-04-18 01:07:05 400

原创 IFreeSql 注入与 AspectCore 冲突问题怎么解决

FreeSql 以 MIT 开源协议托管于 github:https://github.com/2881099/FreeSqlIFreeSql 作为 ORM 顶级对象,没有设置 NameSpace(命名空间),作者的用意是不想使用者在 .cs 文件顶部,多出一堆不必要的 using FreeSql.xxx。最近有同学尝试用 AspectCore 翻车了。经过定位以及源码调试发现,Aspec...

2020-03-13 21:06:29 508 2

原创 AspNetCore 请求产生 FreeSql 所有操作日志输出到前端

FreeSql是一个功能强大的 .NET ORM 功能库,支持 .NetFramework 4.0+、.NetCore 2.1+、Xamarin 等支持 NetStandard 所有运行平台。特性支持 CodeFirst 迁移;支持 DbFirst 从数据库导入实体类,支持三种模板生成器;采用 ExpressionTree 高性能读取数据;支持深入的类型映射,比如pgsql的数组类型,...

2020-03-09 10:26:27 509

原创 FreeSql 插入数据返回自增值

FreeSql是一个功能强大的 .NET ORM 功能库,支持 .NetFramework 4.0+、.NetCore 2.1+、Xamarin 等支持 NetStandard 所有运行平台。以 MIT 开源协议托管于 github:https://github.com/2881099/FreeSqlFreeSql 插入数据的方式有多种,这篇文章教你用最优的方案做数据插入功能。static ...

2020-03-08 13:20:30 870

原创 .NET ORM FreeSql 第一个正式版本发布 v1.0.0

一、简介FreeSql 是 .NET 平台下的对象关系映射技术(O/RM),支持 .NETCore 2.1+ 或 .NETFramework 4.0+ 或 Xamarin。从 0.0.1 发布到今历时整整一年的迭代更新,现在终于敢发布第一个正式版。二、项目统计主仓库解决方案共计项目:29个单元测试:3510个Code Issues:168个文档Wiki:43个Stars:1140...

2019-12-25 19:42:10 657

原创 .NETCore ORM 访问国产达梦数据库

前言武汉达梦数据库有限公司成立于2000年,为中国电子信息产业集团(CEC)旗下基础软件企业,专业从事数据库管理系统的研发、销售与服务,同时可为用户提供大数据平台架构咨询、数据技术方案规划、产品部署与实施等服务。多年来,达梦公司始终坚持原始创新、独立研发,目前已掌握数据管理与数据分析领域的核心前沿技术,拥有全部源代码,具有完全自主知识产权。随着华为、中兴事务,国产数据库市场相信是未来是趋势走向...

2019-12-13 14:48:55 1835

原创 FreeSql v0.11 几个实用功能说明

FreeSql 开源发布快一年了,立志成为 .Net 平台方便好用的 ORM,仓库地址:https://github.com/2881099/FreeSql随着不断的迭代更新,越来越稳定,也越来越强大。预计在一周年的时候(2020年1月1日)发布 1.0 正式版本。金九银十的日子过去了,在这个铜一般的月份里,鄙人做了几个重大功能,希望对使用者开发提供更大的便利。一、Dto 映射查询二、I...

2019-11-18 15:52:11 863

原创 FreeSql 已支持 .NetFramework 4.0、ODBC 访问

FreeSql 开源发布快一年了,目前主仓库代码量 64118 行,用 git 命令统计的命令如下:find . “(” -name “*.cs” “)” -print | xargs wc -l加上其他几个扩展包的代码,大约有 70000 行源码。仓库地址:https://github.com/2881099/FreeSql在金九银十的日子,发布了两大重要支持更新,分别是 .NetF...

2019-10-30 21:43:53 405

原创 FreeSql 导航属性的联级保存功能

写在前面FreeSql 一个款 .net 平台下支持 .net framework 4.5+、.net core 2.1+ 的开源 ORM。单元测试超过3100+,正在不断吸引新的开发者,生命不息开发不止。和 EFCore 一样,我们也有导航对象,支持【OneToOne】(一对一)、【ManyToOne】(多对一)、【OneToMany】(一对多)、【ParentChild】(父子)、【Man...

2019-09-30 01:36:38 480

原创 [开源] FreeSql.AdminLTE 功能升级

前言FreeSql 发布至今已经有9个月,功能渐渐完善,自身的生态也逐步形成,早在几个月前写过一篇文章《ORM 开发环境之利器:MVC 中间件 FreeSql.AdminLTE》,您可以先阅读上一篇文章内容了解来龙去脉,再回到这里观看。我个人非常喜欢小规模团队的"单打独斗",有的时候即使在大公司,也是做着3-5个人团队的小项目,相信不少人有类似的经历。从上一篇文章可以看出,早先的 FreeS...

2019-09-02 03:43:00 314

原创 [开源] .NETCore websocket 即时通讯组件---ImCore

前言ImCore 是一款 .NETCore 下利用 WebSocket 实现的简易、高性能、集群即时通讯组件,支持点对点通讯、群聊通讯、上线下线事件消息等众多实用性功能。开源地址:https://github.com/2881099/im ,求 star~~快速开始dotnet add package ImCoreIM服务端public void Configure(IApplic...

2019-07-31 02:02:16 457

原创 [分享] 一款极简单的 BaseEntity CRUD 方法

前言尝试过 ado.net、dapper、ef,以及Repository仓储,甚至自己还写过生成器工具,以便做常规CRUD操作。它们日常操作不方便之处:每次使用前需要声明,再操作;很多人一个实体类,对应一个操作类(或DAL、DbContext、Repository);BaseEntity 是一种极简单的 CodeFirst 开发方式,特别对单表或多表CRUD,利用继承节省了每...

2019-07-23 08:57:28 1024

原创 [开源] FreeSql 配套工具,基于 Razor 模板实现最高兼容的生成器

FreeSql 经过半年的开发和坚持维护,在 0.6.x 版本中完成了几大重要事件:1、按小包拆分,每个数据库实现为单独 dll;2、实现 .net framework 4.5 支持;3、同时支持 MySql.Data、MySqlConnector 的实现;4、自定义导航属性关系的配置;5、配套工具 FreeSql.Tools 发布;本文主要讲解第5项《FreeSql.Tools》,大...

2019-06-04 19:40:55 352

原创 FreeSql aop功能介绍

前言FreeSql 是一个功能强大的 .NETStandard 库,用于对象关系映射程序(O/RM),支持 .NETCore 2.1+ 或 .NETFramework 4.6.1+(QQ群:4336577)。据了解,用户使用很少问问题,编码过程中,因业务阻塞,情有可原;因框架使用问题阻塞,得不偿失。我们的口号:做 .net 最方便的 ORM!愿每一位开发者嘴角上扬

2019-05-24 12:40:18 293

原创 FreeSql 新功能介绍:贪婪加载五种方法

前言FreeSql 在经过6个月的开发和朋友们的工作实践,不断的改进创新,目前拥有1500个左右单元测试方法,且每个方法内又复盖不同的测试面。今天介绍 FreeSql 各种贪婪加载的姿势,作下总结。本节内容对应的还有【延时加载】,贪婪加载和他本该在一起介绍,开发项目的过程中应该双管齐下,才能写出高质量的程序。有关延时加载,日后有空再单独编写。FreeSql是一个功能强大的NETStandar...

2019-05-16 10:08:59 382

原创 FreeSql 新的八大骚功能,.NETCore 你必须晓得的 ORM

前言FreeSql 目前版本号 0.5.5,预计明年元旦发布 1.0.0,切莫小看了版本号,目前单元测试方法1350+,并且每个方法内的涵盖面又比较广(不信的话见下图),每一次版本发布都作了较多的测试工作。最近的一段时间,关注我们的人时不时会看见扩展包发布,今天振奋人心的功能主要是核心部分实现(扩展包今天当配角)。就不多啰嗦了,咱们直接入主题。功能一:MapType 类型映射使用 co...

2019-04-27 02:46:50 5518

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除