0

私はクラスのプロジェクトに取り組んでいます。製品をデータベースに追加できるミール プランナー アプリを作成しています。次に、食事に含める製品を選択すると、食事は毎週のスケジュールで表示できる食事プランに追加できます。

私は製品をセットアップしてデータベースに追加することができます (これは簡単な部分です)。

食事モデル:

public class Meal
{
    public int MealId { get; set; }

    public String Name { get; set; }

    public virtual Product Products { get; set; }

    [Display(Name = "Creator")]
    public int UserId { get; set; }
}

製品モデル:

public class Product
{
    public int ProductId { get; set; }
    public int UserId { get; set; }
    public int UnitId { get; set; }
    public String Name { get; set; }
    public Decimal Quantity { get; set; }
    public Boolean Included { get; set; }

    public virtual Unit unit { get; set; }
}

bool を製品モデルに追加して、選択されたときに通知することを考えましたが、それをさまざまな食事にどのように含めるかはわかりません。製品を保持するためのデータベースを持つという目的を無効にしているように見えたので、食事ごとに異なる製品を作成したくありませんでした。

どのように進めるかよくわかりません。また、これを解決しても、この同じ原則を食事から食事への計画のシナリオに適用できると思います。私を正しい方向に向けるための提案はありますか?

4

1 に答える 1

0

私が理解していることから、2 つのテーブル間の多対多の関係を探しているようです。私は db エンジニアではありませんが、食事テーブルと製品テーブルの間のリンクとして機能する中間テーブルが必要になると思います。何かのようなもの:

public class ProductInMeals
{
    public int ProductId { get; set; }
    public int MealId { get; set; }

    /* Any other fields you want to associate with this relationship */
}

したがって、2 つの外部キーを持つテーブルになります。主キーと関係に関するいくつかの詳細を追加する価値があるかもしれませんが、それは実際にはあなた次第です。

于 2013-04-22T13:59:43.967 に答える