PersonとPersonArchiveという2つのほぼ同じテーブルがあります。 PersonArchiveがPersonと信じられないほど似ていると想像されるように、2つの追加フィールドが追加されているだけです。コードの最初の基底クラスのディスクリミネータ
public partial class Person
{
public int PersonId { get; set; }
public string FirstName { get; set; }
public string Surname { get; set; }
}
public partial class PersonArchive : Person
{
public string ArchivedBy { get; set; }
public DateTime ArchivedAt
{
get
{
return DateTime.Now;
}
}
}
私のソリューションは、人のデータを読み出し、余分な二つのフィールドに記入し、PersonArchiveに書き込み:追加の列が人に追加されますので、もし私はそれが自動的にPersonArchiveに表示され、以下のクラス構造を作成しました。問題は、Personからデータを読み込もうとするときです。私は、様々な投稿を見ながら、Personからの読み取りで問題を解決しますが、PersonArchiveに挿入するときに問題が発生することは明らかです。
私は様々な記事をチェックしましたが、それらの非は私の問題と一致するように見える - あるいは、少なくとも私の理解へ:
Code First: Avoid discriminator column and keep inheritance
Entity framework code first creates "discriminator" column
Entity Framework: How to avoid Discriminator column from table?