0
デフォルトのFKの名前を変更しようとしていますが、コードの最初のマイグレーションは、別の名前の同じテーブルに2番目のFKを生成し続けます。異なる名前の重複したFKを生成するEFマイグレーション
FKモデルにはIDという名前のPKがあります。クライアントの要求するコンベンションを維持して、Id(名前)の名前を変更したいだけです。
1)生成された移行:
2)マッピング:
私は何をすべき?
デフォルトのFKの名前を変更しようとしていますが、コードの最初のマイグレーションは、別の名前の同じテーブルに2番目のFKを生成し続けます。異なる名前の重複したFKを生成するEFマイグレーション
FKモデルにはIDという名前のPKがあります。クライアントの要求するコンベンションを維持して、Id(名前)の名前を変更したいだけです。
1)生成された移行:
2)マッピング:
私は何をすべき?
CorpoGestor
エンティティが外部キーのプロパティを公開する場合は、Map
とMapKey
の代わりにHasForeignKey
を使用します。
HasRequired(x => x.Conselho)
.WithMany()
.HasForeignKey(x => x.IdConselho);
別の解決策:あなたの代わりにCorpoGestorMap
クラスの関係をマッピングする、プロパティにForeignKey
属性を使用することができます。
public class CorpoGestor
{
...
public int IdConselho { get; set; }
[ForeignKey("IdConselho")]
public virtual Conselho Conselho { get; set; }
}
警告:エンティティの属性を使用すると、概念的にとてもクールではありませんEntityTypeConfiguration
マッピングクラスのコードを実装する場合は、エンティティをEFクラスに保持する必要があるデータレイヤコードで汚染しているためです。