Добавление свойства навигации в AbpUser - PullRequest
1 голос
/ 22 января 2020

Я пытаюсь создать отношение один ко многим между AbpUser (ASP. NET Boilerplate) и классом AccountType в EF Core. У меня есть следующий код:

public class User : AbpUser<User>
{
    public virtual int? AccountTypeId { get; set; }

    [ForeignKey("AccountTypeId")]
    public virtual AccountType AccountTypeFk { get; set; }
}

public class AccountType : Entity
{
    [InverseProperty("AccountType")]
    public virtual ICollection<User> Users { get; set; }
}

, но когда я пытаюсь сместить процесс миграции, я получаю следующее сообщение об ошибке:

InversePropertyAttribute для свойства «Users» типа «AccountType» ' не является действительным. Свойство AccountType не является допустимым свойством навигации для связанного типа «Пользователь». Убедитесь, что свойство существует и является действительным свойством ссылки или навигации по коллекции>

Может кто-нибудь сказать мне, где я иду не так? Благодаря.

1 Ответ

0 голосов
/ 23 января 2020

Your users.AccountTypeId необходимо удалить виртуальный. Это создаст свойство в базе данных. Это позволит создать внешний ключ и обеспечить работу sql joins et c.

Ваш AccountTypeFk может быть виртуальным, однако было бы разумнее удалить fk из имя, так как оно не будет внешним ключом. вместо этого это будет дочерний объект.

...