同じテーブルに対して 2 つの異なるエンティティを使用しようとしています。2 つのエンティティを持つ目的は、そのうちの 1 つの属性の量を制限することです。これは、編集フォームの 1 つではいくつかの属性しか変更できないためです。
そのため、編集不可の属性を非表示にして値を保持する必要がないようにするために、属性の一部のみを含む別のエンティティを用意することをお勧めします。
したがって、すべての属性を持つ 1 つのエンティティと、一部の属性だけを持つエンティティがあります。問題は、次の例外が発生することです。
「エンティティ タイプ 'ApplicationMapping' および 'ApplicationMappingFull' はテーブル 'ApplicationMapping' を共有できません。これらは同じタイプ階層にないか、それらの間で主キーが一致する有効な 1 対 1 の外部キー関係を持たないためです。
エンティティ構成クラスは次のようになります。
class ApplicationMappingFullConfiguration : EntityTypeConfiguration<ApplicationMappingFull>
{
public ApplicationMappingFullConfiguration()
{
ToTable("ApplicationMapping");
HasKey(p => p.Id);
}
}
class ApplicationMappingConfiguration : EntityTypeConfiguration<ApplicationMapping>
{
public ApplicationMappingConfiguration()
{
ToTable("ApplicationMapping");
HasKey(p => p.Id);
}
}
どうすればやろうとしていることを達成できますか? それを行うためのより良い/より簡単な方法はありますか?
ありがとう!