飲食店向けのアプリを作りたいです。計算レシピについてです。
私はドメインクラスを持っています: - Ingredient - Recipe - RecipeItem
Recipe には RecipeItem の List があります。
RecipeItem は Ingredient でも Recipe でもあります。
そのため、2 つのプロパティ (Id、Name) を持つ Interface IItem を使用しています。クラスでインターフェイスを使用すると、db ジェネレーターはこのフィールドを無視します。
ここで私のクラスを見てください:
public class Ingredient : IItem
{
public int Id { get; set; }
public string Name { get; set; }
public double Price { get; set; }
}
public class Recipe : IItem
{
public int Id { get; set; }
public string Name { get; set; }
public List<RecipeItem> RecipeItems { get; set; }
}
public class RecipeItem
{
public int Id { get; set; }
public IItem Item { get; set; }
public double Quantity { get; set; }
}
CodeFirst は、上記のテーブルを使用してデータベースを自動的に生成します。
データベーステーブル RecipeItem を次のようにしたいと思います。
> Id
> Quantity
> Recipe_Id - FK of Recipe ID
> RecipePointer - Nullable FK of specific Recipe
> IngredientPointer - Nullable FK of specific Ingredient
しかし、次のものしかありません。
> Id
> Quantity
> Recipe_Id - FK of Recipe ID
例えば Ingredient を RecipeItem に入れると、Ingredient の Id が IngredientPointer に挿入されます。
マッピングに FLUENT API を使用したいのですが、方法がわかりません。
私が望むことが可能かどうか、または私の問題を解決するためのより良い方法があるかどうかはわかりません。
Pluralsight で既に CodeFirst のビデオを見て、フォーラムを閲覧しましたが、答えが見つかりません。
助けてくれてありがとう。