public async Task CreateTable() { using var conn = CreateConnection(); // 如果实体的 Schema 没有配置表名,则使用类名 await conn.ExecuteAsync($"drop table if exists {Escape}test{Escape}.{Escape}createtable{Escape};"); { var storage = CreateStorage(StorageMode.Insert); await storage.InitializeAsync(); var context = new DataFlowContext(null, new SpiderOptions(), new Request(), new Response()); var typeName = typeof(CreateTableEntity3); var entity = new CreateTableEntity3(); var items = new List <CreateTableEntity3> { entity }; context.AddData(typeName, items); await storage.HandleAsync(context); var list = (await conn.QueryAsync <CreateTableEntity3>( $"SELECT * FROM {Escape}test{Escape}.{Escape}createtable{Escape}")).ToList(); Assert.Single(list); entity = list.First(); Assert.Equal("xxx", entity.Str1); Assert.Equal("yyy", entity.Str2); Assert.Equal(655, entity.Required); Assert.Equal(0, entity.Decimal); Assert.Equal(600, entity.Long); Assert.Equal(400, entity.Double); Assert.Equal(200.0F, entity.Float); await conn.ExecuteAsync($"drop table if exists {Escape}test{Escape}.{Escape}createtable{Escape};"); } }
public async Task CreateTable() { using (var conn = CreateConnection()) { // 如果实体的 Schema 没有配置表名,则使用类名 await conn.ExecuteAsync("drop table if exists test.dbo.createtable;"); { var storage = CreateStorage(StorageMode.Insert); var dfc = new DataContext(null, null, null, null); var typeName = typeof(CreateTableEntity3); var entity = new CreateTableEntity3(); var items = new List <CreateTableEntity3> { entity }; dfc.AddData(typeName, items); await storage.HandleAsync(dfc); var list = (await conn.QueryAsync <CreateTableEntity3>("SELECT * FROM test.dbo.createtable")).ToList(); Assert.Single(list); entity = list.First(); Assert.Equal("xxx", entity.Str1); Assert.Equal("yyy", entity.Str2); Assert.Equal(655, entity.Required); Assert.Equal(0, entity.Decimal); Assert.Equal(600, entity.Long); Assert.Equal(400, entity.Double); Assert.Equal(200.0F, entity.Float); await conn.ExecuteAsync("drop table if exists test.dbo.createtable;"); } } }
public async Task CreateTable() { using (var conn = CreateConnection()) { // 如果实体的 Schema 没有配置表名,则使用类名 await conn.ExecuteAsync("drop table if exists test.dbo.createtable;"); var services = SpiderProvider.Value.CreateScopeServiceProvider(); var storage = CreateStorage(StorageType.Insert); var dfc = new DataFlowContext(null, services); var typeName = typeof(CreateTableEntity3).FullName; var entity = new CreateTableEntity3(); dfc.Add(typeName, entity.GetTableMetadata()); var items = new ParseResult <CreateTableEntity3> { entity }; dfc.AddParseItem(typeName, items); await storage.HandleAsync(dfc); var list = (await conn.QueryAsync <CreateTableEntity3>("SELECT * FROM test.dbo.createtable")).ToList(); Assert.Single(list); entity = list.First(); Assert.Equal("xxx", entity.Str1); Assert.Equal("yyy", entity.Str2); Assert.Equal(655, entity.Required); Assert.Equal(0, entity.Decimal); Assert.Equal(600, entity.Long); Assert.Equal(400, entity.Double); Assert.Equal(200.0F, entity.Float); await conn.ExecuteAsync("drop table if exists test.dbo.createtable;"); } }