Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 与EF中的多个表建立一对一关系_Entity Framework_Model View Controller - Fatal编程技术网

Entity framework 与EF中的多个表建立一对一关系

Entity framework 与EF中的多个表建立一对一关系,entity-framework,model-view-controller,Entity Framework,Model View Controller,我想有一张桌子,上面有许多其他物品的图片,比如吃饭、吃饭、吃饭等等 一张图片是针对特定的班级(比如说吃饭)。通过这种方式,我可以有许多将PictureId作为FK的表,但无法应用第二个数据注释属性 public class Picture { [Key, ForeignKey("Ingridient"), ForeignKey("Meal")] //<---here I get error public int PictureId { get; set; } //

我想有一张桌子,上面有许多其他物品的图片,比如吃饭、吃饭、吃饭等等

一张图片是针对特定的班级(比如说吃饭)。通过这种方式,我可以有许多将PictureId作为FK的表,但无法应用第二个数据注释属性

public class Picture
{
    [Key, ForeignKey("Ingridient"), ForeignKey("Meal")] //<---here I get error
    public int PictureId { get; set; }

    //properties
    public byte[] PictureData { get; set; }
    public string Name { get; set; }

    [Required]
    public virtual Ingridient Ingridient { get; set; } //1 - 1
    [Required]
    public virtual Meal Meal { get; set; } //1 - 1
}
公共类图片
{
[钥匙,外宾钥匙(“Ingridient”)、外宾钥匙(“餐”)]//
我可以有很多以PictureId为FK的桌子

然后,这些其他实体应该具有外键属性和导航属性

乙二醇


一个问题:是否可以在不创建InGrident对象的情况下创建膳食图像?您不必在图片上具有任何导航属性。它们将是集合,而不是单个值,因为在此模型中,多个膳食对象可能具有相同的图片。
public class Meal
{

  public int MealId {get;set;}

 //  ...
  public int? PictureId {get;set;}
  public virtual Picture Picture {get;set;}
}