diff --git a/Src/Asp.Net/SqliteTest/SqliteTest.csproj b/Src/Asp.Net/SqliteTest/SqliteTest.csproj index 05fbee32a..ae33c8708 100644 --- a/Src/Asp.Net/SqliteTest/SqliteTest.csproj +++ b/Src/Asp.Net/SqliteTest/SqliteTest.csproj @@ -65,6 +65,7 @@ + diff --git a/Src/Asp.Net/SqliteTest/UserTestCases/Cases.cs b/Src/Asp.Net/SqliteTest/UserTestCases/Cases.cs index 86d42cc62..d96a2e6ab 100644 --- a/Src/Asp.Net/SqliteTest/UserTestCases/Cases.cs +++ b/Src/Asp.Net/SqliteTest/UserTestCases/Cases.cs @@ -10,6 +10,7 @@ namespace OrmTest { public static void Init() { + Unitdfaafas.Init(); Unitasdfasdfa1.Init(); //Demo Demo0_SqlSugarClient.Init(); diff --git a/Src/Asp.Net/SqliteTest/UserTestCases/Cases/Unitasdfas2yy.cs b/Src/Asp.Net/SqliteTest/UserTestCases/Cases/Unitasdfas2yy.cs new file mode 100644 index 000000000..c96db1c73 --- /dev/null +++ b/Src/Asp.Net/SqliteTest/UserTestCases/Cases/Unitasdfas2yy.cs @@ -0,0 +1,63 @@ +using SqlSugar; +using System; +using System.Data; + +namespace OrmTest +{ + internal class Unitdfaafas + { + /// + /// 测试案例: BulkCopy中Datatable列名如果有空格报错 + /// + /// + public static void Init() + { + var Db = NewUnitTest.Db; + Db.DbMaintenance.CreateDatabase(); + Db.CurrentConnectionConfig.MoreSettings = new ConnMoreSettings() { + IsCorrectErrorSqlParameterName=true + }; + var datatable = new DataTable(); + datatable.Columns.Add("Name", typeof(string)); + datatable.Columns.Add("Name 1", typeof(string));//列名有空格 + + for (int i = 0; i < 10; i++) + { + var row = datatable.NewRow(); + row["Name"] = "Name" + i; + row["Name 1"] = "Name 1" + i; + datatable.Rows.Add(row); + } + + var tableName = "Testaaaa"; + var dynamicProperyBuilder = Db.DynamicBuilder().CreateClass(tableName, new SugarTable()); + dynamicProperyBuilder.CreateProperty("Id", typeof(int), new SugarColumn() + { + IsPrimaryKey = true, + IsIdentity = true + }); + + foreach (DataColumn datatableColumn in datatable.Columns) + { + dynamicProperyBuilder.CreateProperty(datatableColumn.ColumnName.Replace(" ",""), typeof(string), new SugarColumn() + { + ColumnDataType = StaticConfig.CodeFirst_BigString, + ColumnName = datatableColumn.ColumnName, + IsNullable = true + }); + } + + var dynamicClass = dynamicProperyBuilder.BuilderType(); + Db.CodeFirst.InitTables(dynamicClass); + + + //BulkCopy中Datatable列名如果有空格会报错! + var result = Db.Fastest().AS(tableName).BulkCopy(datatable); + + } + + + } +} + + \ No newline at end of file