自学内容网 自学内容网

SqlSugar删除没有定义主键的实体类对应的数据库表数据

  一般而言,使用SqlSugar的DbFirst功能创建数据库表实体类时,如果数据库表有主键,生成的实体类对应属性也会标识为主键,如下图所示。
在这里插入图片描述
  但有时候生成的实体类没有自动配置主键,这时可以通过以下方式进行删除操作:
  1)如果实体类有主键或类似主键的属性,可以采用[SugarColumn(IsPrimaryKey=true)]手工设置主键属性,然后删除数据时按主键属性删除数据。示例代码如下所示(示意代码来自参考文献1):

db.Deleteable<Student>(new Student() { Id = 1 }).ExecuteCommand();//单条数据删除
db.Deleteable<Student>(list).ExecuteCommand();//多条数据删除,集合每条记录仅包含主键

  2)调用In或where函数按条件删除数据。例代码如下所示(示意代码来自参考文献1):

db.Deleteable<Student>().In(it=>it.Id,new int[] { 1, 2 }).ExecuteCommand();//删除多条数据
db.Deleteable<Student>().Where(it => it.Id == 1).ExecuteCommand();//按条件删除数据

  3)获取完整的数据记录,然后调用Deleteable函数删除。

db.Deleteable<Student>(lstStudents).ExecuteCommand();//集合每条记录包含所有属性数据

参考文献:
[1]https://www.donet5.com/home/Doc?typeId=1195


原文地址:https://blog.csdn.net/gc_2299/article/details/140701465

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!