枚举主键数据删除Truncated incorrect DOUBLE value: 'typeA'” 返回

SqlSugar 沟通中
4 454
该叫什么 zhj 发布于2026/3/9
悬赏:0 飞吻

[SugarColumn(IsPrimaryKey = true, IsIdentity = false, ColumnDataType = "int")] public MachineTypeEnum? MachineType {  get; set; } 新增数据时可以正常新增 删除数据时 字段定义为枚举,数据库里是int类型,删除数据时sql语句中 MachineType 没有转为int而是字符串 DELETE FROM `Machine` WHERE ((`MachineType`='typeA`))

热忱回答4

  • 提供删除代码。

    0 回复
  • zhj zhj VIP0
    2026/3/9

    @fate sta

     public bool Delete<T>(T entity, out string result) where T : class, new()

     {

         try

         {

             var delete = _db.Deleteable<T>(entity);

             var str = delete.ToSqlString();

             bool success = delete.ExecuteCommand() > 0;

             //bool success = _db.Deleteable<T>(entity).ExecuteCommand() > 0;

             result = success.ToString();

             return success;

         }

         catch (Exception ex)

         {

             result = ex.Message;

             return false;

         }

     }

    只是基本的泛型
    实体类主键为 可为空的枚举,是不是这个原因

    0 回复
  • MachineTypeEnum? 改成 MachineTypeEnum

    试试

    0 回复
  • zhj zhj VIP0
    2026/3/19

    @fate stay night:不好意思,比较忙,忘看了。试过了没有用,目前是直接Where指定主键值进行删除

    0 回复