Как добавить временные таблицы в EF Code-First DBContext? - PullRequest
1 голос
/ 23 октября 2019

Я хочу добавить временные таблицы SQL в мой проект в DBContext, а не в файле миграции? Как этого добиться? Изменить: я добавил его в функцию семян, но он все еще не работает

 protected override void Seed(MSDBContext context)
    {
        string sql = @"  ALTER TABLE dbo.Workshops

 ADD SysStartTime datetime2 GENERATED ALWAYS AS ROW START  
  CONSTRAINT DF_Workshops_SysStartTime DEFAULT SYSUTCDATETIME() NOT NULL,
  SysEndTime datetime2 GENERATED ALWAYS AS ROW END 
  CONSTRAINT DF_Workshops_SysEndTime DEFAULT CONVERT (DATETIME2, '9999-12-31 23:59:59') NOT NULL,
         PERIOD FOR SYSTEM_TIME (SysStartTime, SysEndTime)
  GO

  ALTER TABLE dbo.Workshops
      SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.WorkshopsHistory))
  GO";
        context.Database.ExecuteSqlCommand(sql);

        context.SaveChanges();

        context.Configuration.LazyLoadingEnabled = false;
    }

1 Ответ

0 голосов
/ 23 октября 2019

Вы можете запустить adhoc sql запросы, если хотите просто создать таблицы.

using (var ctx = new DBDataContext())
{
    var rowsEffected = ctx.Database.ExecuteSqlCommand("YOUR SQL TO ADD TABLES");
}

Если это не работает, вам не нужно использовать EF, вы можете использовать старый добрый клиент ADO.NET sqlклассы для выполнения запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...