両端が必要な 2 つのエンティティ間に 1 対 1 の関係を作成しようとしています。このような基本的なエンティティです
public class EntityA
{
public int? EntityAID {get; set;}
public virtual EntityB EntityB {get; set;
}
public class EntityB
{
public int? EntityBID {get; set;}
public virtual EntityA EntityA {get; set;
}
関係を構成するために使用する EntityA の EntityTypeConfiguration オブジェクトがあります。私はエンティティ A をリレーションシップのプリンシパルにしたいと考えています。これは、このプロセスを正しく理解していれば、エンティティ B のデータベース テーブルにエンティティ A への外部キーがあることを意味します。これが私の構成ステートメントです
HasRequired(e=>e.EntityB).WithRequiredPrincipal(e=>e.EntityA);
Code First Migration でデータベースを更新しています。この関係を設定する移行を生成すると、移行は EntityB のテーブルに外部キーを配置する必要があるという事実を正しく識別していますが、EntityB の主キーを使用して EntityA のテーブルへの外部キーを作成しています。このような:
.ForeignKey("dbo.TableForEntityB", t => t.EntityBID)
EntityA の ID を外部キーとして使用する必要があります。
誰かが私が間違っていることを見ていますか? 私は困惑しています。私は WithRequiredDependent を使用してみましたが、TableForEntityA で同じ状況を作成するだけです。
ありがとう。