2016-08-30 77 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對1的關係EF兩個外鍵錯誤

無法確定 類型 '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; } 
}