DotNetNext / SqlSugar

.Net aot ORM Fastest ORM Simple Easy VB.NET Sqlite orm Oracle ORM Mysql Orm 虚谷数据库 postgresql ORm SqlServer oRm 达梦 ORM 人大金仓 ORM 神通ORM C# ORM , C# ORM .NET ORM NET5 ORM .NET6 ORM ClickHouse orm QuestDb ,TDengine ORM,OceanBase orm,GaussDB orm ,Tidb orm Object/Relational Mapping
https://www.donet5.com/Home/Doc
MIT License
5.17k stars 1.32k forks source link

使用逻辑删除LogicDeleteProvider.ExecuteCommandAsync出现.NullReferenceException异常 #1248

Closed JackBOBO closed 1 month ago

JackBOBO commented 1 month ago

版本信息 :5.1.4.91

使用方法

//当ids数量大于10000出现异常
Context.Deleteable<Entity>().In(ids).IsLogic().ExecuteCommandAsync(“isdel”));

异常逻辑

private string _ExecuteCommand(string LogicFieldName, out ISqlSugarClient db, out string where, out List<SugarParameter> pars)
{
    //...... 省流 ...... 
    // GetWhereString为Null
    where = DeleteBuilder.GetWhereString.Substring(5);
    // ...... 省流 ...... 
}

怀疑GetWhereString为Null原因

            if (primaryKeyValues.Length < 10000)
            {
                Where(string.Format(DeleteBuilder.WhereInTemplate, SqlBuilder.GetTranslationColumnName(primaryField), primaryKeyValues.ToJoinSqlInVals()));
            }
            else
            {
                if (DeleteBuilder.BigDataInValues == null)
                    DeleteBuilder.BigDataInValues = new List<object>();
                DeleteBuilder.BigDataInValues.AddRange(primaryKeyValues.Select(it => (object)it));
                DeleteBuilder.BigDataFiled = primaryField;
            }
            return this;
        }
DotNetNext commented 1 month ago

升级最新看一下

JackBOBO commented 1 month ago

升级最新看一下

升级到"5.1.4.158-preview02"还是一样的问题。

DotNetNext commented 1 month ago

SqlSugarCore 5.1.4.158-preview03

已修复过五分钟后安装

DotNetNext commented 1 month ago

还有问题吗?

JackBOBO commented 1 month ago

还有问题吗?

没有了,下午有点其他的事还没来得及验证。

JackBOBO commented 1 month ago

升级到最新问题已修复,辛苦。