Добавление темпоральной таблицы к существующей таблицеC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Добавление темпоральной таблицы к существующей таблице

Сообщение Anonymous »

У меня уже есть рабочее приложение, в котором я изначально не настроил временные таблицы. Теперь я пытаюсь добавить их в схему, изменив файл IEntityTypeConfiguration для таблиц, но он не работает должным образом.
Например:

Код: Выделить всё

public class LineConfiguration : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
// Temporal table setup
builder.ToTable(b => b.IsTemporal());

// Primary Key
builder.HasKey(x => x.Id);
builder.Property(x => x.Id)
.HasDefaultValueSql($"NEXT VALUE FOR {BillOfLadingDbContext.LineIdSequence}")
.HasColumnOrder(0);

// Auditing
builder.Property(x => x.Created)
.HasColumnOrder(1);

builder.Property(x => x.Modified)
.HasColumnOrder(2);

builder.Property(x => x.CreatedBy)
.HasColumnOrder(3);

builder.Property(x => x.ModifiedBy)
.HasColumnOrder(4);

// Versioning
builder.Property(x => x.Version)
.IsRowVersion()
.HasColumnOrder(5);

// Soft-delete
builder.Property(x => x.IsDeleted)
.HasColumnOrder(6);

// Property settings
builder.Property(x => x.Quantity)
.HasColumnOrder(7);

builder.Property(x => x.UnitOfMeasureId)
.HasColumnOrder(8);

builder.Property(x => x.Ordinal)
.HasDefaultValue(999)
.HasColumnOrder(9);

builder.HasOne(x => x.UnitOfMeasure)
.WithMany()
.HasForeignKey(x => x.UnitOfMeasureId)
.OnDelete(DeleteBehavior.Restrict);

builder.HasMany(x => x.LineItems);
}
}
Он содержит следующий код в разделе «Миграция»:

Код: Выделить всё

b.ToTable(tb => tb.IsTemporal(ttb =>
{
ttb.UseHistoryTable("LinesHistory");
ttb
.HasPeriodStart("PeriodStart")
.HasColumnName("PeriodStart");
ttb
.HasPeriodEnd("PeriodEnd")
.HasColumnName("PeriodEnd");
}));
Однако после обновления моей базы данных я не вижу ни одной временной таблицы, созданной в результате этой миграции (ожидается «LinesHistory»):
Изображение

Нет PeriodStart или PeriodEnd< /code> и таблица LinesHistory не создана.
Я мог бы вручную выполнить SQL, чтобы изменить таблицу при миграции, но я бы предпочел понять, почему это не так. не работает так, как я думал.

Подробнее здесь: https://stackoverflow.com/questions/788 ... ting-table
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»