FreeSQL

手把手撸套框架-ORM框架的选择

你说的曾经没有我的故事 提交于 2020-10-23 02:27:55
目录 一,为什么选择SqlSugar? 在.net core ORM框架中,能选择的方案其实有很多,包括以下方案: 1,EF-Core 2,Dapper 3,FreeSql 4,SqlSugar 为什么最后选择了Sqlsugar 呢? 一个个来说, 首先是: EF-core 。 EF-core 一开始想法也是担心性能问题,大概在7年前 有尝试过一次EF,深深被EF的性能所折服 实在是太慢了,当然做一些小型项目,EF当然是体现不出性能差距的,但是谁又知道自己的“小项目”哪天不会随着 业务的发展变成“大项目” 呢? 所以,一开始对EF 以及EF-Core 没有好感,不过后来看了,EF-Core的官网介绍, 感观上发生了很大的变化, 总的来说就是: EF 和 EF-Core 完全是两个东西。 更准确的说是:.net Core 和 .net Famework 完全是两个东西。 这么说吧, .net Core在性能上完全不怂 java,go,python,php 任何一种语言,再说.net 性能不好的,可以啪啪打脸了。 但是,我还是首先淘汰了,EF-Core。原因是,查百度各种ORM都拿EF-core 做性能测试,可以参考以下连接: 参考: https://www.cnblogs.com/kellynic/p/10557882.html 虽然,EF-Core 性能跟EF 不能同日而语,但是

HttpReports 2.0 发布了 !!!

China☆狼群 提交于 2020-10-16 11:33:41
https://www.cnblogs.com/myshowtime/p/13806631.html 来源 ???? 前言介绍 HttpReports 是基于.Net Core 开发的APM监控系统,使用MIT开源协议,主要功能包括,统计, 分析, 可视化, 监控,追踪等,适合在微服务环境中使用。 Github地址: https://github.com/dotnetcore/HttpReports 在线预览: http://122.51.188.23:8080 (带宽有限,第一次会有点慢) 在线文档: https://www.yuque.com/httpreports/docs 账号: admin 密码 123456 开源不易,感兴趣的同学还希望点个Star,支持下 ???? 简单架构 ???? 主要功能 接口调用指标分析 多服务节点数据聚合分析 慢请求,错误请求分析 接口调用日志查询 多类型预警监控 HTTP,Grpc 调用分析 分布式追踪 多数据库支持,集成方便 程序性能监控 2.0 更新 HttpReports 上一次发布HttpReports 还是在3个月前,HttpReports 2.0 版本的改动还是挺大的,所以建议老版本的升级前,还是先看下文档,本次更新主要以下几个方面 项目结构调整,统一使用 HttpTransport 使用 Vue + Antv +

FreeSql (八)插入数据时指定列

╄→尐↘猪︶ㄣ 提交于 2020-10-05 11:39:11
插入数据时指定列,未被指定的列将被忽略。 var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" + "Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=10"; static IFreeSql fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.MySql, connstr) .UseAutoSyncStructure(true) //自动同步实体结构到数据库 .Build(); //请务必定义成 Singleton 单例模式 [Table(Name = "tb_topic")] class Topic { [Column(IsIdentity = true, IsPrimary = true)] public int Id { get; set; } public int Clicks { get; set; } public string Title { get; set; } public DateTime CreateTime { get; set; } } var items = new List

FreeSql (三十四)CodeFirst 迁移说明

江枫思渺然 提交于 2020-08-20 08:10:32
FreeSql 支持 CodeFirst 迁移结构至数据库,这应该是(O/RM)必须标配的一个功能。 与其他(O/RM)不同FreeSql支持更多的数据库特性,而不只是支持基础的数据类型,这既是优点也是缺点,优点是充分利用数据库特性辅助开发,缺点是切换数据库变得困难。不同程序员的理念可能不太一致,FreeSql尽量把功能支持到极致,至于是否使用是项目组技术衡量的另一个问题。 尽管多种数据库适配逻辑非常复杂,FreeSql始终秉承优化程序开发习惯的原则尽量去实现,中间碰到了一些非技术无法攻克的难题,比如数据库的自定义类型,和实体类本身就是一种冲突,为了减少使用成本,诸如此类的数据库功能没有得到支持。 static IFreeSql fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=10") .UseAutoSyncStructure(true) //自动同步实体结构【开发环境必备】 .Build(); //请务必定义成

FreeSql (三十四)CodeFirst 迁移说明

我只是一个虾纸丫 提交于 2020-08-20 02:08:14
FreeSql 支持 CodeFirst 迁移结构至数据库,这应该是(O/RM)必须标配的一个功能。 与其他(O/RM)不同FreeSql支持更多的数据库特性,而不只是支持基础的数据类型,这既是优点也是缺点,优点是充分利用数据库特性辅助开发,缺点是切换数据库变得困难。不同程序员的理念可能不太一致,FreeSql尽量把功能支持到极致,至于是否使用是项目组技术衡量的另一个问题。 尽管多种数据库适配逻辑非常复杂,FreeSql始终秉承优化程序开发习惯的原则尽量去实现,中间碰到了一些非技术无法攻克的难题,比如数据库的自定义类型,和实体类本身就是一种冲突,为了减少使用成本,诸如此类的数据库功能没有得到支持。 static IFreeSql fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=10") .UseAutoSyncStructure(true) //自动同步实体结构【开发环境必备】 .Build(); //请务必定义成

FreeSql (一)入门

谁说我不能喝 提交于 2020-08-19 09:57:20
FreeSql是一个功能强大的 .NET ORM 功能库,支持 .NetFramework 4.0+、.NetCore 2.1+、Xamarin 等支持 NetStandard 所有运行平台。 QQ群:4336577(已满)、8578575(在线) 模型 FreeSql 使用模型执行数据访问,模型由实体类表示数据库表或视图,用于查询和保存数据。 可从现有数据库生成实体模型,FreeSql 提供 IDbFirst 接口实现 生成实体模型 。 或者手动创建模型,基于模型创建或修改数据库,提供 ICodeFirst 同步结构的 API(甚至可以做到开发阶段自动同步)。 using FreeSql.DataAnnotations; using System; public class Blog { [Column(IsIdentity = true, IsPrimary = true)] public int BlogId { get; set; } public string Url { get; set; } public int Rating { get; set; } } 声明 dotnet add packages FreeSql.Provider.Sqlite static IFreeSql fsql = new FreeSql.FreeSqlBuilder()

[开源] .Net ORM FreeSql 1.8.0-preview 最新动态播报(番号:我还活着)

倖福魔咒の 提交于 2020-08-18 12:23:59
写在开头 FreeSql 是 .NET 开源生态下的 ORM 轮子,在一些人眼里属于重复造轮子:不看也罢。就像昨天有位朋友截图某培训直播发给我看,内容为:“FreeSQL(个人产品),自己玩可以,不要商用。ORM框架:1.安全、稳定(更新稳定、有BUG有人修复,有人升级)”。 这突出其来的“关爱”,让我的内心毫无波澜,确实是毫无波澜,比起当初 FreeSql 初出茅庐之时的讽刺友好得多。写在开头的这些内容并不祈求这部分人改变观念,该黑的请继续黑,黑总比没有关注好,是吧?我无所谓你,但是别人呢?麻烦你们不要无脑抨击,你们这种行为不知道挽杀了多少社区项目。 2018 年 12 月份开发 FreeSql 到现在,1859 颗星,412 Issues,18 PR,170K 包下载量。说明还是有开发者关注和喜爱,只要有人关注,就不会停更不修 BUG 一说。大家有兴趣可以看看更新记录,看看我们的代码提交量,4700+ 单元测试不说非常多,我个人觉得已经超过很多国产项目,有兴趣的再去隔壁“国产第一” ORM 上看看,对比对比!如果不更新了,请把位置让出来;如果有BUG修复不了,请让 FreeSql 来;如果不好用,就不要搞一堆 SEO 害人入坑;如果。。。如果。。。 这不是挑衅,看到对方的 issues 实在不忍,看到对方的源码,哇哦,单元测试在哪里?好了不废话了。。 20个月了,FreeSql

FreeSql (一)入门

狂风中的少年 提交于 2020-08-17 09:37:12
FreeSql是一个功能强大的 .NET ORM 功能库,支持 .NetFramework 4.0+、.NetCore 2.1+、Xamarin 等支持 NetStandard 所有运行平台。(QQ群:4336577) 模型 FreeSql 使用模型执行数据访问,模型由实体类表示数据库表或视图,用于查询和保存数据。 可从现有数据库生成实体模型,FreeSql 提供 IDbFirst 接口实现 生成实体模型 。 或者手动创建模型,基于模型创建或修改数据库,提供 ICodeFirst 同步结构的 API(甚至可以做到开发阶段自动同步)。 using FreeSql.DataAnnotations; using System; public class Blog { [Column(IsIdentity = true, IsPrimary = true)] public int BlogId { get; set; } public string Url { get; set; } public int Rating { get; set; } } 声明 dotnet add packages FreeSql.Provider.Sqlite static IFreeSql fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString

FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)

爷,独闯天下 提交于 2020-08-15 15:45:27
这篇文章受大家邀请,与 SqlSugar 做一次简单的性能测试对比。主要针对插入、批量插入、批量更新、读取性能的测试; 测试环境 .net core 2.2 FreeSql 0.3.17 sqlSugarCore 4.9.9.3 sqlserver 14.00.1000 Express、mysql 5.6 测试项目 以 console 程序,创建步骤: 1、dotnet new console 2、dotnet add package FreeSql 3、dotnet add package sqlSugarCore 编码的过程 这个错误来自 sugar 创建数据库的时候,实体定义如下: sugar的没有同步上来。 暂时先用 freesql 帮 sugar 创建了表。。。创建完后如下: 运行时又出现如下错误: 需要加一堆 IsIgnore 是的,还在报错,最终原因是我传入的 songs 是 IEnumerable ,然后接受的参数类型正常应该是 Song[],希望作者看到了可以改进。 以 SqlServer 作为目标库,测试结果 第一次: 第二次: EFCore 也参与进来的测试: uploading-image-353246.png 以 MySql 作为目标库,测试结果 EFCore 也参与进来的测试: 结束语 然而上面提到的批量更新,今天先到这吧。下次有兴致了再测试。

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

∥☆過路亽.° 提交于 2020-08-13 09:55:20
前言 京人大金仓信息技术股份有限公司(以下简称“人大金仓”)是具有自主知识产权的国产数据管理软件与服务提供商。人大金仓由中国人民大学一批最早在国内开展数据库教学、科研、开发的专家于1999年发起创立,先后承担了国家“863”、“核高基”等重大专项,研发出了具有国际先进水平的大型通用数据库产品。2018年,人大金仓申报的“数据库管理系统核心技术的创新与金仓数据库产业化”项目荣获2018年度国家科学技术进步二等奖,产学研的融合进一步助力国家信息化建设。 随着华为、中兴事务,国产数据库市场相信是未来是趋势走向,纵观 .net core 整个圈子对国产人大金仓数据库的支持几乎为 0,今天我们使用 FreeSql ORM 来体验国产人大金仓数据库(虽然是拿pgsql源码修改的)。 整体来讲,人大金仓对 Oracle 语法有着 90% 的兼容性,但还有一些细节需要注意,FreeSql 对此做了优化进行了完美支持。 1、安装环境 数据库服务器:KingbaseES V8 下载地址: https://www.kingbase.com.cn/index/service/c_id/212.html .NET版本:.net core 3.1 下载地址: https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install 开发机器