2

如何在 EF 中对这个关系数据库进行建模,以便我可以为食物类型、维生素和每种食物类型中的维生素含量提供列表集合类?

在此处输入图像描述

4

2 回答 2

2

为了在现实数据库中对您的表进行建模,我认为这一定是个问题,您将拥有 3 个实体。FoodTypeVitamin以及FoodTypeVitamin关系。

FoodType会有一个名为 的属性Id,值为 1,2,3,4 等。

Vitamin会有一个Id和一个Name属性,值是

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

FoodTypeVitamin会有一个外键FoodTypeVitamin和一个Mg属性来保存每个关系的毫克数。所以数据可能是这样开始的

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 回答