我想實現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; }
有沒有什麼簡單的方法來實現我想要的是?哪個派生實體(歷史表)生成一個包含與基類實體相同的列字段但具有密鑰更改的表。
我很欣賞上面的代碼,非常天真,但我似乎無法找到類似於幫助的博客文章。
LOL ...謝謝?我已經閱讀了所有這些帖子,但他們沒有一個真正幫助我滿足我的需求,或者想要,當然可能不可能。但是,從專家那裏聽到這比收拾頭髮更浪費時間更好。 – tigerswithguitars 2014-10-10 10:24:55