Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 向AbpUser添加导航属性_C#_Asp.net Core_Entity Framework Core_Aspnetboilerplate - Fatal编程技术网

C# 向AbpUser添加导航属性

C# 向AbpUser添加导航属性,c#,asp.net-core,entity-framework-core,aspnetboilerplate,C#,Asp.net Core,Entity Framework Core,Aspnetboilerplate,我试图在一个AbpUser(ASP.NET样板文件)和EF Core中名为AccountType的类之间创建一个一对多的关系。我有以下代码: public class User : AbpUser<User> { public virtual int? AccountTypeId { get; set; } [ForeignKey("AccountTypeId")] public virtual AccountType AccountTypeFk { get

我试图在一个AbpUser(ASP.NET样板文件)和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; }
}
公共类用户:AbpUser
{
公共虚拟int?AccountTypeId{get;set;}
[外键(“AccountTypeId”)]
公共虚拟AccountType AccountTypeFk{get;set;}
}
公共类AccountType:实体
{
[反向属性(“账户类型”)]
公共虚拟ICollection用户{get;set;}
}
但当我尝试构建迁移时,会收到以下错误消息:

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


谁能告诉我哪里出了问题?谢谢。

您的用户。AccountTypeId需要删除虚拟机。这将在数据库中创建属性。这将允许创建外键,并允许sql连接等工作


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

它不应该是带有外键的属性的名称吗?aka
[InverseProperty(“AccountTypeFk”)]
是。错误消息清楚地指出了这一点。是的,这就是导致问题的原因,谢谢!