Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
Asp.net core 如何使用ASP.NET(MVC6框架)在模型中添加外键_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

Asp.net core 如何使用ASP.NET(MVC6框架)在模型中添加外键

Asp.net core 如何使用ASP.NET(MVC6框架)在模型中添加外键,asp.net-core,asp.net-core-mvc,Asp.net Core,Asp.net Core Mvc,我是ASP.NET新手,正在尝试新的MVC6框架。我想创建一个待办事项列表应用程序。在用户身份验证之后,我将重定向到要显示以执行任务的仪表板页面。我已经创建了一个模型任务,但我不确定如何为用户id添加外键,以便在将用户重定向到仪表板页面时,我可以根据用户id进行查询 public class Task { public int Id { get; set; } // i want to add a fk to aspnetuser id here } 谢谢您的帮助。公共课任

我是ASP.NET新手,正在尝试新的MVC6框架。我想创建一个待办事项列表应用程序。在用户身份验证之后,我将重定向到要显示以执行任务的仪表板页面。我已经创建了一个模型任务,但我不确定如何为用户id添加外键,以便在将用户重定向到仪表板页面时,我可以根据用户id进行查询

public class Task
{
    public int Id { get; set; }

    // i want to add a fk to aspnetuser id here 
}
谢谢您的帮助。

公共课任务
public class Task
{
    public int Id { get; set; }

    public int AnyNameForId { get; set; }

    [ForeignKey("AnyNameForId")] 
    public AspnetUser User { get; set; }
}

public class AspnetUser
{
    public int Id { get; set; }

    public virtual ICollection<Task> Tasks { get; set; }
}
{ 公共int Id{get;set;} public int AnyNameForId{get;set;} [ForeignKey(“AnyNameForId”)] 公共AspnetUser用户{get;set;} } 公共类AspnetUser { 公共int Id{get;set;} 公共虚拟ICollection任务{get;set;} }
假设您有一个以Id为主键的类XYZ

现在你想将XYZ的Id分类为ABC类中的外键

因此,它可以像在ABC课上写以下一样完成

public Guid XYZId{get;set;} 
public XYZ xyz{get;set;}`
xyz是xyz类的对象。
.net core将自动将XYZId作为ABC类中的fk…..请注意,Id应该是XYZ类中的主要Id

我认为您不能通过外键直接设置模型的值。您需要为会话、cookie或其他内容设置id,因为无论何时尝试访问此模型,都需要创建类的新对象。您将获得null值为了使注释正常工作,需要确保包括:“使用System.ComponentModel.DataAnnotations.Schema;”