2016-08-30 86 views
2
public class Picture 
     { 
      [Key] 
      public int Id { get; set; } 

      public int NewsId { get; set; } 
      [ForeignKey("NewsId")] 
      public virtual News News { get; set; } 

      public int PostId { get; set; } 
      [ForeignKey("PostId")] 
      public virtual Post Post { get; set; }   
     } 

    public class News 
     { 
      public int Id { get; set; } 
      public virtual Picture Picture { get; set; } 
     } 

public class Post 
    { 
     public int Id { get; set; } 
     public virtual Picture Picture { get; set; } 
    } 

例外:1エラー2つの外部キー関係EF 1から

タイプ 'Project.BusinessObjects.Photo' と 「Project.BusinessObjects間の会合の主終了を決定することができません。学生'。 の主な末尾には、 関係のある流暢なAPIまたはデータ注釈を使用して、この関連付けを明示的に構成する必要があります。

何が間違っていますか?

+1

コード例にAdvantageタイプがないため、間違ったソースコードを投稿しました。 – ivamax9

答えて

0

他のクラスのキーの上に新しい[キー]データ注釈を作成することで、この問題を解決できると思います。このように:

public class Picture 
{ 
    [Key] 
    public int Id { get; set; } 

    [ForeignKey("News")] 
    public int NewsId { get; set; } 
    public virtual News News { get; set; } 

    [ForeignKey("Post")] 
    public int PostId { get; set; }   
    public virtual Post Post { get; set; }   
} 

public class News 
{ 
    [Key] 
    public int Id { get; set; } 
    public virtual Picture Picture { get; set; } 
} 

public class Post 
{ 
    [Key] 
    public int Id { get; set; } 
    public virtual Picture Picture { get; set; } 
} 
関連する問題