using Microsoft.EntityFrameworkCore;
public static void Main()
db.Database.GetMigrations().Dump();
public class MyDb : DbContext
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
optionsBuilder.UseSqlServer("Server=.");
protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity<Parent>(builder => {
builder.ToTable("ParentTable", t => t.IsTemporal(t => {
t.HasPeriodStart("PeriodStart");
t.HasPeriodEnd("PeriodEnd");
.Property<DateTime>("PeriodStart")
.HasColumnName("PeriodStart");
.HasColumnName("PeriodEnd");
builder.HasKey(t => t.Id);
.OwnsOne(t => t.ChildProp, childBuilder =>
childBuilder.ToTable(o => o.IsTemporal(t => {
t.HasPeriodStart("PeriodStart");
t.HasPeriodEnd("PeriodEnd");
.HasColumnName("PeriodStart");
.HasColumnName("PeriodEnd");
.HasColumnName("Parent_Amount");
.Property(t => t.Currency)
.HasColumnName("Parent_Currency");
public DbSet<Parent> Parents {get;set;}
public Guid Id {get;set;}
public Child ChildProp {get;set;}
public decimal Amount{get;set;}
public string Currency {get;set;}