逻辑删除时发生错误 返回
SqlSugar
6
190

悬赏:5 飞吻
数据库逻辑删除字段是bit类型。
执行逻辑删除时,提示
在将 nvarchar 值 '@IsDeleted' 转换成数据类型 bit 时失败。
跟踪得到的SQL语句为:
exec sp_executesql N'UPDATE [test] SET [isdelete]=@Const0 WHERE [id] IN (''242103796707397'',''242795926827077'') ',N'@Const0 nvarchar(4000),@IsDeleted bit',@Const0=N'@IsDeleted',@IsDeleted=1
热忱回答(6)
-
fate sta VIP0
2022/1/6什么库
0 回复 -
fate sta VIP0
2022/1/6https://www.donet5.com/Home/Doc?typeId=2366 按提问模版写个DEMO
0 回复 -
倾斜的水瓶座 VIP0
2022/1/6代码是这么写的:
await db.Deleteable<area>().Where(m => m.id == "242103796707397").IsLogic().ExecuteCommandAsync()
SqlSugarCore 版本是:5.0.4.6
0 回复 -
倾斜的水瓶座 VIP0
2022/1/6数据库:sql server 2016
SqlSugar 版本是:5.0.4.6
示例代码:
using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using SqlSugar; namespace OrmTest { class Program { static void Main(string[] args) { var db = new SqlSugarScope(new SqlSugar.ConnectionConfig() { ConnectionString = "server=.;uid=sa;pwd=sasa;database=SQLSUGAR4XTEST", DbType = DbType.SqlServer, IsAutoCloseConnection = true }); //建表 if (!db.DbMaintenance.IsAnyTable("Test001", false)) { db.CodeFirst.InitTables<Test001>(); } //用例代码 var result = await db.Deleteable<Test001>().Where(m => m.id == "242103796707397").IsLogic().ExecuteCommandAsync() Console.WriteLine(result); Console.WriteLine("用例跑完"); Console.ReadKey(); } //建类 public class Test001 { public string id { get; set; } public string areaname{get;set;} public bool? isdelete{get;set;} } } }
0 回复 -
倾斜的水瓶座 VIP0
2022/1/6SqlSugar 版本问题,我用的是5.0.4.6,异步逻辑删除会有问题。官方更新记录里,5.0.4.8-5.0.4.9修复了这个BUG。
0 回复 -
fate sta VIP0
2022/1/6@倾斜的水瓶座:那就更新
0 回复