我有一个过程,试图从一堆更新的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。