【发布时间】:2018-08-27 02:43:32
【问题描述】:
我试图弄清楚如何在迁移历史记录表中添加和设置自定义列的值。我已经想出了如何使用这样的自定义 SqlServerHistoryRepository 添加列:
class MyHistoryRepository : SqlServerHistoryRepository
{
public MyHistoryRepository(HistoryRepositoryDependencies dependencies) : base(dependencies)
{
}
protected override void ConfigureTable(EntityTypeBuilder<HistoryRow> history)
{
base.ConfigureTable(history);
history.Property<DateTime>("Applied").HasDefaultValue(DateTime.Now);
history.Property<string>("UserStamp");
}
}`
我正在以 .NET Standard 为目标的库中创建我的数据层。我为看起来像这样的迁移创建了一个 IDesignTimeDbContextFactory。
public class MyDbContextFactory : IDesignTimeDbContextFactory<MyContext>
{
public MyContext CreateDbContext(string[] args)
{
var optionsBuilder = new DbContextOptionsBuilder<MyContext>();
optionsBuilder.UseSqlServer("connectionString",
ob => ob.MigrationsAssembly(this.GetType().Assembly.GetName().Name))
.ReplaceService<IHistoryRepository, MyHistoryRepository>();
return new MyContext(optionsBuilder.Options);
}
}
如何将 UserStamp 的值传递到迁移历史记录表中?
【问题讨论】:
标签: entity-framework-core entity-framework-migrations