従来の EF の質問は次のように始まります: 私のモデルは
public class Ingredient
{
public int IngredientID { get; set; }
public virtual RequestedIngredient RequestedIngredient { get; set; }
// other stuff
}
public class RequestedIngredient
{
[Key]
string BlahBlahBlah { get; set; }
public int? IngredientID { get; set; }
public virtual Ingredient Ingredient { get; set; }
}
dbContext のどこか...
modelBuilder.Entity<Ingredient>()
.HasOptional<RequestedIngredient>(e => e.RequestedIngredient)
.WithOptionalPrincipal(e => e.Ingredient)
.Map(e => e.MapKey("IngredientID"))
.WillCascadeOnDelete(false);
しかし、指定されたスキーマが無効です。エラー: (195,6): エラー 0019: 型の各プロパティ名は一意である必要があります。プロパティ名 'IngredientID' は既に定義されています。
RequestedIngredient から IngredientID を削除すると、必要に応じてデータベースが作成されます。しかし、IngredientID にはアクセスできません。外部キーにアクセスできるようにこれを設定するにはどうすればよいですか?