private static IMutableModel EnableTemporalQuery(this IMutableModel mutableModel, IEnumerable <string> temporalTableNames) { var temporalTables = new TemporalTables(temporalTableNames.Select(t => $"[{t}]")); mutableModel[TimeTravelInterceptor.TemporalTablesKey] = temporalTables; return(mutableModel); }
private void UpdateQuery(DbCommand command, TemporalTables temporalTables) { var parameter = command.CreateParameter(); parameter.ParameterName = "@TimeTravelDate"; parameter.Value = TimeTravelDate; command.Parameters.Add(parameter); foreach (var table in temporalTables.Tables()) { command.CommandText = command.CommandText.Replace(table, $"{table} FOR SYSTEM_TIME AS OF @TimeTravelDate"); } }