2016-08-30 3 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; } 
} 
Смежные вопросы