2

このリレーショナル データベースを EF でモデル化して、食品の種類、ビタミン、および各食品の種類のビタミンの量のリスト コレクション クラスを作成するにはどうすればよいでしょうか?

ここに画像の説明を入力

4

2 に答える 2

2

現実的なデータベースでテーブルをモデル化するには、これが問題になると思いますが、3 つのエンティティが必要です。FoodTypeVitaminおよびFoodTypeVitamin関係。

FoodTypeという 1 つの属性がありId、値は 1、2、3、4 などです。

VitaminIdおよび属性を持ちName、値は

Id    Name
1     'A'
2     'B'
3     'C'
4     'D'

FoodTypeVitaminは、各リレーションシップのミリグラム数を保持する属性とFoodType属性の両方に対する外部キーを持ちます。したがって、データは次のように始まる場合がありますVitaminMg

VitmainId  FoodTypeId  Mg
1          1           200
3          1           100
2          2           50
3          2           11
...
于 2012-05-16T08:13:25.277 に答える
0

EF Code First を使用する場合は、次のようにします。

public class Vitamin 
{
    [Key]
    public String Name {get; set;}
    public double Amount {get; set;}
    public virtual Food Food {get; set;}
}

public class Food
{
    [Key]
    public int FoodID {get; set;}
    public String FoodName {get; set;}
    public virtual List<Vitamin> Vitamins {get; set;}
}

public DataContext: DbContext 
{
     public DbSet<Vitamin> Vitamin {get; set;}
     public DbSet<Food> Foods {get; set;}
}
于 2012-05-16T08:22:59.420 に答える