删除
HiSql数据删除提供了两种类型的删除方式(按实体对象删除和按条件删除)
按实体对象删除表数据
实体对象也可以是具体的实体类也可以是匿名类也可是字典数据 如下代码所示
H_Test
表中的主键是Id
通过该方式删除传入的对象中一定要有主键,否则删除时将会报错,也就是会忽略非主键的条件值。
int v=sqlClient.Delete("H_Test", new { Id = "1"}).ExecCommand();
// v大于0表示删除成功 否则为失败
1
2
2
如果不传任何条件则表示删除该表的所有数据,该操作有风险请慎用
int v=sqlClient.Delete("H_Test").ExecCommand();
1
2
2
通过Where条件进行表数据删除
使用了Where条件删除就不能使用对象删除否则将会抛出异常
关于Where的条件语法请参照查询 与where关的文档
sqlClient.Delete("H_Test").Where(new Filter { { "DID", OperType.GT, 200 } }).ExecCommand();
1
也支持以下写法
sqlClient.Delete("H_Test").Where("DID > 200").ExecCommand();
1
查看生成的sql语句
调用ToSql()
方法即可,当前连接是哪一个类型的数据就会生成对应数据库的源生代码
string sql=sqlClient.Delete("H_Test").Where("DID > 200").ToSql();
1