FreeSql
FreeSql copied to clipboard
🦄 .NET aot orm, C# orm, VB.NET orm, Mysql orm, Postgresql orm, SqlServer orm, Oracle orm, Sqlite orm, Firebird orm, 达梦 orm, 人大金仓 orm, 神通 orm, 翰高 orm, 南大通用 orm, 虚谷 orm, 国产 orm, Click...
#### 问题描述及重现步骤: 多对多中间表如何临时关闭过滤器,即生成的sql去掉 AND (Mx_Mi.`TenantId` IS NULL) ? 表结构和关系 ``` class UserEntity { [Column(IsIdentity = true)] public int Id { get; set; } [Navigate(ManyToMany = typeof(DoorDeviceUserEntity))] public ICollection DoorDevices {...
使用子查询报错
问题描述及重现步骤: 实体类主要部分 ``` internal class SButtonEntity : BaseEntity { /// /// 页面Id /// public long PageId { get; set; } /// /// 按钮名称 /// public string Name { get; set;...
.NET ORM 作者相互攻击,诋毁,抹黑,在圈内已经众人皆知,需要区分性质,尊重事实或恶意抹黑。 FreeSql 自开源以来多次受到同行恶意抹黑,本贴收集相关黑料。如对方称被诋毁的时候,请分清性质是事实还是恶意。FreeSql 一直以光明证大的比较,不比较怎么知道痛点,怎么提升进步?反而有些知名 ORM 作者,自命不凡甚至开小号的恶意攻击,抄袭原创颠倒是否黑白,这才是真正的大黑子。 FreeSql 2018 年开源以来,本人进行过几次主流 ORM 功能、性能等对比文章,内容尊重事实的原则相互改进,我有痛点帮我提,你有痛点帮你提,只可惜同行是冤家,他们说你黑他们,诋毁他们,甚至不高看你一眼。直到2022年,各种假面具撕开了。。。 ## 黑子1号 `China-Mr-zhong` [《[开源精品] .NET Redis Client 又多了一个选择》](https://www.cnblogs.com/FreeSql/p/16455983.html),评论区发现第一个黑子,昵称 `China-Mr-zhong`,并且发现该黑子近一年多次恶意攻击,只要是我发的新文章,必定回复贬低,甚至连发表的老文章也进行挖坟留评论,每条评论也都是差不多的意思,如: > 写的项目 都很烂 怎么好意思 说是精品 以前没当回事,这一次查看了他的个人资料,不看不要紧一看震惊了,原来他也是 ORM 作者:...
FreeSql.Generator版本:3.2.665 表中显示顺序如下  但是生成的实体属性是按照字典顺序排的  生成模板中如果按照字段的Position来排序,显示顺序也不正常  查看了issues#1154,又看了下源代码,好像PgSql和Mysql是获取字段的ordinal_position之后根据ordinal_position来设置Position,而SqlServer是通过++position的方式来迭代position。 
```c# public interface ITenant { int TenantId { get; set; } } public class Startup { public static IFreeSql Fsql { get; private set; } public static AsyncLocal TenantId {...
有时候数据库还是网络方面不稳定,会导致Freesql报错,我想Freesql方面有没有一个重试机制功能配置
几百条数据的表,字段也很少,sql也很简单,sql偶尔出现执行达到1秒。 数据库是mysql 8,本地测试环境(docker 部署的mysql)没有这个问题,阿里云的rds有这个问题,下面是两个例子。 guid:_,freesql 执行耗时732毫秒: SELECT a.`ChildId`, a.`LastCalcGameScoreDate` FROM `ChildFlag` a WHERE (a.`LastCalcGameScoreDate` < '2022-07-22 00:00:00.000') limit 0,1, guid:_,freesql 执行超过983毫秒: SELECT a.`PID`, a.`Mobile`, a.`AccountId`, a.`First_Name`, a.`City`, a.`Profile_Image`, a.`Active`, a.`LastLoginTime`,...
使用场景,排序字段和编号生成字段,当新增的时候如果该字段为空就使用插入语句,如果该字段值不为空就不使用插入语句,用输入的值。目前在ConfigEntityProperty里不能获取model的字段值,请问能加个 e.object来传递model的值吗,我的代码如下,目前这里不能判断字段的值是什么。 
#### Feature 特性 CLI增加新的option,-json STJ/NTJ (当然,最终参数名称可以商榷) #### 简要描述原因 目前通过CLI使用DbFirst生成数据库实体模型,会默认绑定NewtonSoft.Json。在实际情况下,越来越多的新项目倾向于使用System.Text.Json,而不再使用NewtonSoft.Json。 Issue #633 提到STJ的易用性问题,现在(6.0.5+)大多已经解决。未支持的功能如JsonPath等,应该并不影响FreeSql做JsonMap的使用。 当前的DBFirst功能会导致FreeSql实际和NewtonSoft.Json强制绑定,如果Db表及列的数量较多,手动修改工作量巨大。希望能够完善DBFirst的代码生成功能,允许使用配置项指定生成代码所依赖的Json库。 当然,这个FR优先级可能不算高。但个人希望能将该其加入贵项目的迭代计划。 #### 使用场景 使用CLI基于DBFirst生成数据库实体类。
#### 问题描述及重现步骤: 当贪婪加载子集数据(`IncludeMany(x => x.Songs)`)时,若子集(Songs)类型为`public Song[] Songs { get; set; }`而不是`public List Songs { get; set; }`时,前者获取到的Songs为null,后者则正常。 建议这里如果为Array则抛出异常,并提醒用户更换为List #### 数据库的具体版本 ``` 无关 ``` #### 安装的包  #### .net framework/. net...