我想首先要实现一个历史表中EF6的实体代码。
我想会有办法与继承做到这一点。 历史表,这是实际的表实体的派生类型,只是包含所有属性的直副本。 随着编辑的关键。
对于我的代码第一个表实体配置Booking
。
public class BookingEntityConfiguration
: EntityTypeConfiguration<Booking>
{
public BookingEntityConfiguration()
{
Property(b => b.BookingId).HasColumnOrder(0);
HasKey(b => new { b.BookingId });
HasOptional(b => b.BookingType)
.WithMany()
.HasForeignKey(c => c.BookingTypeId);
}
}
对于我的代码第一个表实体配置BookingHistory
。
public class BookingHistoryTypeEntityConfiguration
: EntityTypeConfiguration<BookingHistory>
{
public BookingHistoryTypeEntityConfiguration()
{
Property(b => b.BookingId).HasColumnOrder(0);
Property(b => b.BookingVersion).HasColumnOrder(0);
HasKey(b => new { b.BookingId, b.BookingVersion });
}
}
哪里
public class BookingHistory : Booking { }
我BookingHistory
表从未在相关数据库中的上下文,其中包括这些引用表实体获取生成:
public DbSet<Booking> Bookings { get; set; }
public DbSet<BookingHistory> BookingHistories { get; set; }
有没有简单的方法来实现我想要什么? 这是所导出的实体(历史表)生成包含相同的列字段的基类实体的表,但键的改变。
我很感激我上面的代码是相当幼稚,但我似乎无法找到类似的博客文章,以帮助。