Самостоятельная ссылка на Entity Framework error - PullRequest
0 голосов
/ 12 мая 2018

У меня есть поле Organization.RemappedOrganization, которое сопоставлено с Organization.Recno в базе данных.Когда я пытаюсь работать с объектом Organization, я получаю сообщение об ошибке:

InvalidOperationException: невозможно вызвать свойство для свойства 'RemappedOrganization' для типа сущности 'Organization', поскольку оно настроено как навигацияимущество.Свойство можно использовать только для настройки скалярных свойств.

Полагаю, я неправильно настраиваю его в Entity Framework ... но не знаю, как.

public class Organization
{
    [Key]
    public int? Recno { get; set; }
    public string OrganizationName { get; set; }
    public bool PermanentlyDisplay { get; set; }
    [ForeignKey("RemappedOrganization")]
    public virtual Organization RemappedOrganization { get; set; }
    public DateTime? DateAdded { get; set; }
}

modelBuilder.Entity<Organization>().ToTable("Organization")
            .HasIndex(p => new { p.OrganizationName }).IsUnique();

1 Ответ

0 голосов
/ 12 мая 2018

У вас есть ошибка, потому что указанный ниже атрибут настроен неправильно:

[ForeignKey("RemappedOrganization")]

Вы украшаете свойство навигации с атрибутом ForeignKey и указываете то же свойство, что и значение свойства.

У вас есть две возможности исправить ошибку:

  • удалить атрибут и позволить EF сгенерировать столбец внешнего ключа для вас
  • добавить новое свойство RemappedOrganizationId(которое должно быть скалярным свойством) в вашей сущности и используйте это имя свойства в качестве значения для ForeignKey.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...