EF Core-重新创建单个表

时间:2019-05-05 22:37:38

标签: c# entity-framework entity-framework-core

我有一个过程,试图从一堆更新的CSV中保持数据库为最新。基本上,计划是让触发器监视github存储库,并在新提交击中master时处理csv。

现在,我要在创建表之前先放掉桌子撞墙。我可以删除所有表,然后重新创建所有表。但是,我需要能够轻松地删除单个表,然后重新创建表,使其为空,并且可以将新的csv上传到其中。有办法吗?

await context.Database.ExecuteSqlCommandAsync("DROP TABLE IF EXISTS AllStarFull");
await context.Database.ExecuteSqlCommandAsync("DROP TABLE IF EXISTS Appearances");
var dbCreator = (RelationalDatabaseCreator) context.Database.GetService<IDatabaseCreator>();
await dbCreator.CreateTablesAsync(); // Wishing there was a method to create a SINGLE table here...

理想情况下,我想要这样的东西:

var dbCreator = (RelationalDatabaseCreator) context.Database.GetService<IDatabaseCreator>();
await dbCreator.CreateTableAsync(Model);

我知道我可以轻松地使用创建表所需的sql运行相同的context.Database.ExecuteSqlCommandAsync,但是我认为这与EF Framework不符。除非有某种方法可以从给定的实体框架模型中获取生成的sql。

0 个答案:

没有答案