向AbpUser添加导航属性

问题描述 投票:1回答:1

我正在尝试在AbpUser(ASP.NET Boilerplate)和EF Core中的AccountType类之间建立一对多关系。我有以下代码:

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; }
}

但是当我尝试进行迁移时,出现以下错误消息:

类型为“ AccountType”的属性“ Users”上的InversePropertyAttribute无效。属性“ AccountType”在相关类型“用户”上不是有效的导航属性。确保该属性存在并且是有效的引用或集合导航属性>

谁能告诉我我要去哪里错了?谢谢。

c# asp.net-core entity-framework-core aspnetboilerplate
1个回答
-1
投票

您的用户。AccountTypeId需要删除虚拟。这将在数​​据库中创建属性。然后,这将允许创建外键,并使sql join等起作用。

您的AccountTypeFk可以是虚拟的,但是从名称中删除fk会更有意义,因为它不会是外键。而是一个子对象。

© www.soinside.com 2019 - 2024. All rights reserved.