测试完毕,清空Sql Server测试表数据

This commit is contained in:
LambertW 2019-03-15 21:37:42 +08:00
parent fccc3fc8b9
commit f4418241a6

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Text; using System.Text;
namespace FreeSql.Tests.DataContext.SqlServer namespace FreeSql.Tests.DataContext.SqlServer
@ -9,8 +10,8 @@ namespace FreeSql.Tests.DataContext.SqlServer
public SqlServerFixture() public SqlServerFixture()
{ {
sqlServerLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder() sqlServerLazy = new Lazy<IFreeSql>(() => new FreeSql.FreeSqlBuilder()
.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=10") //.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=10")
//.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=(localdb)\\mssqllocaldb;Integrated Security=True;Initial Catalog=cms;Pooling=true;Max Pool Size=10") .UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=(localdb)\\mssqllocaldb;Integrated Security=True;Initial Catalog=cms;Pooling=true;Max Pool Size=10")
.UseAutoSyncStructure(true) .UseAutoSyncStructure(true)
.UseLazyLoading(true) .UseLazyLoading(true)
.Build()); .Build());
@ -21,6 +22,30 @@ namespace FreeSql.Tests.DataContext.SqlServer
public void Dispose() public void Dispose()
{ {
// ... clean up test data from the database ... // ... clean up test data from the database ...
var dataTables = SqlServer.DbFirst.GetTablesByDatabase(SqlServer.DbFirst.GetDatabases()[0]);
if (dataTables.Any(item => item.Name == "TopicAddField" && item.Schema == "dbo2"))
{
SqlServer.Ado.ExecuteNonQuery("TRUNCATE TABLE dbo2.TopicAddField ");
SqlServer.Ado.ExecuteNonQuery("DROP TABLE dbo2.TopicAddField");
SqlServer.Ado.ExecuteNonQuery("DROP SCHEMA dbo2");
}
var tempTables = new string[] { "cccccdddwww", "song", "tb_alltype", "tb_topic", "tb_topic22",
"tb_topic22211", "tb_topic111333", "TestTypeInfo", "TestTypeInfo333", "TestTypeParentInfo",
"TestTypeParentInfo23123", "xxdkdkdk1222", "xxx"};
foreach (var tempTable in tempTables)
{
DeleteTmpTable(dataTables, tempTable);
}
}
private void DeleteTmpTable(List<DatabaseModel.DbTableInfo> dbTables, string deleteTableName, string schemaName = "dbo")
{
if (dbTables.Any(item => item.Name.ToLower() == deleteTableName.ToLower() && item.Schema.ToLower() == schemaName.ToLower()))
{
SqlServer.Ado.ExecuteNonQuery($"TRUNCATE TABLE {schemaName.ToLower()}.{deleteTableName}");
SqlServer.Ado.ExecuteNonQuery($"DROP TABLE {schemaName.ToLower()}.{deleteTableName}");
}
} }
private Lazy<IFreeSql> sqlServerLazy; private Lazy<IFreeSql> sqlServerLazy;