
FreeSql
文章平均质量分 91
dotnetCore
这个作者很懒,什么都没留下…
展开
-
FreeSql 导入数据的各种场景总结 [C#.NET ORM]
同服务器从A表导数据到B表批量导入新数据批量新增或更新数据跨服务器从A表导数据到B表每种场景有自己的特点,我们一般会根据特点定制做导入数据优化,减少总体导入的耗时,或者避免数据库IO/CPU占用过高,而影响到其他正常业务。FreeSql 有好几个实用功能,流式读取数据、查询并插入、批量对比更新、插入或修改(支持实体类或字典),用好这些功能可以很方便的实现各种导入数据场景。原创 2022-09-07 20:01:55 · 1118 阅读 · 0 评论 -
【设计过程】.NET ORM FreeSql WhereDynamicFilter 动态表格查询功能
FreeSql 有一个用户很迷的功能 WhereDynamicFilter 动态表格查询,本文讲解它的设计初衷,如何高效理解,从此不再迷惑。小时候学习编程,老师经常教导我们,程序 = 数据结构 + 算法,今天就以我自身的认知讲解该功能的完整设计过程,其中包含数据结构和算法。对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据原创 2022-07-17 11:34:38 · 890 阅读 · 1 评论 -
[开源] .Net ORM 访问 Firebird 数据库
Firebird 是一个跨平台的关系数据库系统,目前能够运行在 Windows、linux 和各种 Unix 操作系统上,提供了大部分 SQL-99 标准的功能。FreeSql 支持 Firebird 嵌入式数据库,与 Sqlite 一样属于本地数据库,并且可靠性强于 sqlite,数据库文件不过 10兆 大小。...原创 2022-07-07 19:21:18 · 399 阅读 · 0 评论 -
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 · 1202 阅读 · 0 评论 -
【低码】asp.net core 实体类可生产 CRUD 后台管理界面
前言介绍喜欢小规模团队的"单打独斗",有的时候即使在大公司,也经常做着3-5个人团队的小项目,相信很多人有类似的经历。本文介绍如何将项目中已存在的【实体类】,直接生产出 CRUD 后台管理界面。对于通用后台管理系统的生成,除了单纯的对单表 crud 操作外,我还喜欢利用导航属性的操作,比如:1、Song、Tag 多对多场景,添加/更新 Song 时可以把 Tag 一起保存;2、列表页,希望外键、多对多出现在过滤筛选条件;3、列表页,希望枚举出现在过滤筛选条件;4、删除时,级联删除所有相关数据;原创 2022-05-19 11:49:00 · 351 阅读 · 0 评论 -
.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 · 1387 阅读 · 0 评论 -
[开源] .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 · 826 阅读 · 0 评论 -
[开源] .Net 使用 ORM 访问 神舟通用数据库(神通)
前言天津神舟通用数据技术有限公司(简称“神舟通用公司”),隶属于中国航天科技集团(CASC)。是国内从事数据库、大数据解决方案和数据挖掘分析产品研发的专业公司。公司获得了国家核高基科技重大专项重点支持,是核高基专项的牵头承担单位。自1993年在航天科技集团开展数据库研发以来,神通数据库已历经27年的发展历程。公司核心产品主要包括神通关系型数据库、神通KStore海量数据管理系统、神通商业智能套件等系列产品研发和市场销售。基于产品组合,可形成支持交易处理、MPP数据库集群、数据分析与处理等解决方案,可满足多原创 2020-06-28 08:41:36 · 1103 阅读 · 0 评论 -
FreeSql 使用 ToTreeList/AsTreeCte 查询无限级分类表
关于无限级分类第一种方案:使用递归算法,也是使用频率最多的,大部分开源程序也是这么处理,不过一般都只用到四级分类。 这种算法的数据库结构设计最为简单。category表中一个字段id,一个字段fid(父id)。这样可以根据WHERE id = fid来判断上一级内容,运用递归至最顶层。分析:通过这种数据库设计出的无限级,可以说读取的时候相当费劲,所以大部分的程序最多3-4级分类,这就足以满足需求,从而一次性读出所有的数据,再对得到数组或者对象进行递归。本身负荷还是没太大问题。但是如果分类到更多级,那是原创 2020-06-28 06:56:00 · 969 阅读 · 0 评论 -
[开源] .Net ORM 访问 人大金仓数据库
前言京人大金仓信息技术股份有限公司(以下简称“人大金仓”)是具有自主知识产权的国产数据管理软件与服务提供商。人大金仓由中国人民大学一批最早在国内开展数据库教学、科研、开发的专家于1999年发起创立,先后承担了国家“863”、“核高基”等重大专项,研发出了具有国际先进水平的大型通用数据库产品。2018年,人大金仓申报的“数据库管理系统核心技术的创新与金仓数据库产业化”项目荣获2018年度国家科学技术进步二等奖,产学研的融合进一步助力国家信息化建设。随着华为、中兴事务,国产数据库市场相信是未来是趋势走向,纵原创 2020-05-28 18:27:00 · 1446 阅读 · 0 评论 -
[开源] .Net orm FreeSql 1.5.0 最新版本(番号:好久不见)
废话开头这篇文章是我有史以来编辑最长时间的,历时 4小时!!!原本我可以利用这 4小时编写一堆胶水代码,真心希望善良的您点个赞,谢谢了!!很久很久没有写文章了,上一次还是在元旦发布 1.0 版本的时候,今年版本规划是每月底发布小版本(年底发布 2.0),全年的开源工作主要是收集用户需求增加功能,完善测试,修复 bug。FreeSql 1.0 -> 1.5 相隔半年有哪些新功能?只能说每个功能都能让我兴奋,并且能感受到使用者也一样兴奋(妄想症)。迫不及待的人会问,这更新速度也太快了吧,升级会不会原创 2020-05-25 03:29:10 · 3660 阅读 · 0 评论 -
[开源] .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 · 501 阅读 · 0 评论 -
IFreeSql 注入与 AspectCore 冲突问题怎么解决
FreeSql 以 MIT 开源协议托管于 github:https://github.com/2881099/FreeSqlIFreeSql 作为 ORM 顶级对象,没有设置 NameSpace(命名空间),作者的用意是不想使用者在 .cs 文件顶部,多出一堆不必要的 using FreeSql.xxx。最近有同学尝试用 AspectCore 翻车了。经过定位以及源码调试发现,Aspec...原创 2020-03-13 21:06:29 · 591 阅读 · 2 评论 -
AspNetCore 请求产生 FreeSql 所有操作日志输出到前端
FreeSql是一个功能强大的 .NET ORM 功能库,支持 .NetFramework 4.0+、.NetCore 2.1+、Xamarin 等支持 NetStandard 所有运行平台。特性支持 CodeFirst 迁移;支持 DbFirst 从数据库导入实体类,支持三种模板生成器;采用 ExpressionTree 高性能读取数据;支持深入的类型映射,比如pgsql的数组类型,...原创 2020-03-09 10:26:27 · 605 阅读 · 0 评论 -
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 · 1008 阅读 · 0 评论 -
.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 · 743 阅读 · 0 评论 -
.NETCore ORM 访问国产达梦数据库
前言武汉达梦数据库有限公司成立于2000年,为中国电子信息产业集团(CEC)旗下基础软件企业,专业从事数据库管理系统的研发、销售与服务,同时可为用户提供大数据平台架构咨询、数据技术方案规划、产品部署与实施等服务。多年来,达梦公司始终坚持原始创新、独立研发,目前已掌握数据管理与数据分析领域的核心前沿技术,拥有全部源代码,具有完全自主知识产权。随着华为、中兴事务,国产数据库市场相信是未来是趋势走向...原创 2019-12-13 14:48:55 · 2228 阅读 · 0 评论 -
FreeSql v0.11 几个实用功能说明
FreeSql 开源发布快一年了,立志成为 .Net 平台方便好用的 ORM,仓库地址:https://github.com/2881099/FreeSql随着不断的迭代更新,越来越稳定,也越来越强大。预计在一周年的时候(2020年1月1日)发布 1.0 正式版本。金九银十的日子过去了,在这个铜一般的月份里,鄙人做了几个重大功能,希望对使用者开发提供更大的便利。一、Dto 映射查询二、I...原创 2019-11-18 15:52:11 · 962 阅读 · 0 评论 -
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 · 502 阅读 · 0 评论 -
FreeSql 如何实现 Sqlite 跨库查询
FreeSql 是 .NetFramework 4.6+、.NetCore 下的 ORM 功能库,提供了丰富的功能,支持五种流行数据库 MySql/SqlServer/PostgreSQL/Oracle/Sqlite。正常的数据库都支持跨库,然而 Sqlite 默认不支持,或者说支持起来较为麻烦,FreeSql 最关心的是通用、易用性,本文介绍 FreeSql 如何实现 Sqlite 跨库操作。...原创 2019-03-06 14:25:27 · 938 阅读 · 0 评论 -
FreeSql.DbContext ,向"不是真正的 ORM" 说拜拜
FreeSql 发展到现在,已经有两种稳定的开发模式,以下先简单带过一下。后面才是本文的主题。方法一:基于 helper 的方式,祼用;dotnet add package FreeSql提供 CodeFirst、DbFirst、丰富的表达式树、读写分离、AOP等功能支持;方法二:基于 Repository + UnitOfWok 的方式;dotnet add package Fr...原创 2019-03-22 21:15:44 · 1982 阅读 · 0 评论 -
已实现乐观锁功能,FreeSql.DbContext 准备起航
上回说到 FreeSql.DbContext 的规则,以及演示它的执行过程,可惜当时还不支持“乐观锁”,对于更新数据来讲并不安全。FreeSql 核心库 v0.3.27 已提供乐观锁支持。实现原理乐观锁的原理,是利用实体某字段,如:long version,更新前先查询数据,此时 version 为 1,更新时产生的 SQL 会附加 where version = 1,当修改失败时(即 Af...原创 2019-03-29 22:35:55 · 722 阅读 · 0 评论 -
.NETCore 新型 ORM 功能介绍
简介FreeSql 是一个功能强大的 .NETStandard 库,用于对象关系映射程序(O/RM),支持 .NETCore 2.1+ 或 .NETFramework 4.6.1+。定义IFreeSql fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.Sqlite, ...原创 2019-04-02 20:56:06 · 932 阅读 · 0 评论 -
FreeSql 新的八大骚功能,.NETCore 你必须晓得的 ORM
前言FreeSql 目前版本号 0.5.5,预计明年元旦发布 1.0.0,切莫小看了版本号,目前单元测试方法1350+,并且每个方法内的涵盖面又比较广(不信的话见下图),每一次版本发布都作了较多的测试工作。最近的一段时间,关注我们的人时不时会看见扩展包发布,今天振奋人心的功能主要是核心部分实现(扩展包今天当配角)。就不多啰嗦了,咱们直接入主题。功能一:MapType 类型映射使用 co...原创 2019-04-27 02:46:50 · 5649 阅读 · 0 评论 -
ORM 开发环境之利器:MVC 中间件 FreeSql.AdminLTE
前言这是一篇纯技术干货的分享文章,FreeSql 已经基本完成 .NETCore 最方便的 ORM 使命,我们正在筹备生态的建立,比如 ABP 中如何使用 FreeSql 的实现,需要各种各样的扩展包,好多好多工作量。有没有大神愿意无偿参与做这件事情,好吧。。应该没有人!!大约是在三天前,因为使用 FreeSql 的某项目需要做一个简单的后台功能,以便录入或管理数据。在实施的过程中好怀念当初 ...原创 2019-04-18 17:33:44 · 383 阅读 · 0 评论 -
FreeSql aop功能介绍
前言FreeSql 是一个功能强大的 .NETStandard 库,用于对象关系映射程序(O/RM),支持 .NETCore 2.1+ 或 .NETFramework 4.6.1+(QQ群:4336577)。据了解,用户使用很少问问题,编码过程中,因业务阻塞,情有可原;因框架使用问题阻塞,得不偿失。我们的口号:做 .net 最方便的 ORM!愿每一位开发者嘴角上扬原创 2019-05-24 12:40:18 · 389 阅读 · 0 评论 -
FreeSql 新功能介绍:贪婪加载五种方法
前言FreeSql 在经过6个月的开发和朋友们的工作实践,不断的改进创新,目前拥有1500个左右单元测试方法,且每个方法内又复盖不同的测试面。今天介绍 FreeSql 各种贪婪加载的姿势,作下总结。本节内容对应的还有【延时加载】,贪婪加载和他本该在一起介绍,开发项目的过程中应该双管齐下,才能写出高质量的程序。有关延时加载,日后有空再单独编写。FreeSql是一个功能强大的NETStandar...原创 2019-05-16 10:08:59 · 452 阅读 · 0 评论 -
[开源] 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 · 430 阅读 · 0 评论 -
[分享] 一款极简单的 BaseEntity CRUD 方法
前言尝试过 ado.net、dapper、ef,以及Repository仓储,甚至自己还写过生成器工具,以便做常规CRUD操作。它们日常操作不方便之处:每次使用前需要声明,再操作;很多人一个实体类,对应一个操作类(或DAL、DbContext、Repository);BaseEntity 是一种极简单的 CodeFirst 开发方式,特别对单表或多表CRUD,利用继承节省了每...原创 2019-07-23 08:57:28 · 1097 阅读 · 0 评论 -
[开源] FreeSql.AdminLTE 功能升级
前言FreeSql 发布至今已经有9个月,功能渐渐完善,自身的生态也逐步形成,早在几个月前写过一篇文章《ORM 开发环境之利器:MVC 中间件 FreeSql.AdminLTE》,您可以先阅读上一篇文章内容了解来龙去脉,再回到这里观看。我个人非常喜欢小规模团队的"单打独斗",有的时候即使在大公司,也是做着3-5个人团队的小项目,相信不少人有类似的经历。从上一篇文章可以看出,早先的 FreeS...原创 2019-09-02 03:43:00 · 374 阅读 · 0 评论 -
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 · 637 阅读 · 0 评论 -
.NETCore 下支持分表分库、读写分离的通用 Repository
首先声明这篇文章不是标题党,我说的这个类库是 FreeSql.Repository,它作为扩展库现实了通用仓储层功能,接口规范参数 abp vnext,定义和实现基础的仓储层(CURD)。安装dotnet add package FreeSql.Repository可用于:.net framework 4.6+、.net core 2.1+定义var fsql = new FreeS...原创 2019-03-06 14:13:53 · 3779 阅读 · 0 评论