存在する成分のリストがあり、主キーの成分 ID と外部キーのレシピ ID が含まれています。私は、単一の材料を多くのレシピにマッピングしようとしています。各レシピには、レシピ ID と材料 ID が含まれています。
以前は、Ingrients レシピ ID をターゲット Recipes レシピ ID と同じに割り当てました。ただし、これにより、材料が単一のレシピに関連付けられることが制限されました。
レシピの materialID を材料に関連付けることで、Recipe には 1 つの材料しか関連付けられないように見えますが、その材料は他のレシピに関連付けることができます。
レシピと材料を関連付けるためのレシピ ID と材料 ID を含むレシピ材料を作成しようとしましたが、成功しませんでした。
現行モデルの紹介です。
レシピモデル:
[Key]
public int recipeID { get; set; }
public int ingredientID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public decimal Cost { get; set; }
public virtual NutritionalValue NutritionalDetails { get; set; }
public virtual ICollection<Ingredient> Ingredients { get; set; }
public virtual ICollection<RecipeStep> RecipieSteps { get; set; }
成分モデル:
[Key]
public int ingredientID { get; set; }
//public int recipeID { get; set; }
public string Name { get; set; }
public string Descritpion { get; set; }
public decimal Cost { get; set; }
public decimal Amount { get; set; }
public string Type { get; set; }
public virtual Recipe Recipe { get; set; }
私が達成しようとしている最終的な概念は、ユーザーがレシピ編集ビュー内で材料を選択し、以前に追加された材料を選択し、保存をクリックしてその特定のレシピに関連付けることですが、さらに関連付けることもできます。それをさらにレシピと同時に。
どうもありがとう。