using OrmTest.Models; using OrmTest.UnitTest; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace OrmTest { public class Delete : UnitTestBase { private Delete() { } public Delete(int eachCount) { this.Count = eachCount; } public void Init() { var db = GetInstance(); //by entity var t1= db.Deleteable().Where(new Student() { Id = 1 }).ToSql(); base.Check(@"DELETE FROM [STudent] WHERE [Id] IN ('1') ", null, t1.Key, null, "Delte t1 error" ); //use lock var t2 = db.Deleteable().With(SqlWith.RowLock).ToSql(); base.Check(@"DELETE FROM [STudent] WITH(ROWLOCK) ", null, t2.Key, null, "Delte t2 error" ); //by primary key var t3 = db.Deleteable().In(1).ToSql(); base.Check(@"DELETE FROM [STudent] WHERE [Id] IN ('1') ", null, t3.Key, null, "Delte tt error" ); //by primary key array var t4 = db.Deleteable().In(new int[] { 1,2}).ToSql(); base.Check(@"DELETE FROM [STudent] WHERE [Id] IN ('1','2') ", null, t4.Key, null, "Update t4 error"); //by expression var t5 = db.Deleteable().Where(it=>it.Id==1).ToSql(); base.Check(@"DELETE FROM [STudent] WHERE ( [ID] = @Id0 ) ", new List() { new SugarParameter("@Id0",1) }, t5.Key, t5.Value, "Delte t5 error"); } public SqlSugarClient GetInstance() { SqlSugarClient db = new SqlSugarClient(new SystemTableConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer, IsAutoCloseConnection = true }); return db; } } }