繁体   English   中英

"我们如何在 ASP.NET Core & EF Core & C# 上将多个外键从一个模型添加到另一个模型"

[英]How can we add multiple foreign keys from one model to another on ASP.NET Core & EF Core & C#

因此,假设我有一个ApplicationUser : IdentityUser<\/code>模型类,它具有身份关系,默认情况下它有一个 String ID,并且在用户注册时分配了角色。

ApplicationUsers<\/code>将具有不同的角色,例如学生和图书馆。

图书馆将有一个书籍清单,而学生将有一个订单清单。

现在我想创建一个名为Orders<\/code>的另一个模型的 List ,但是Orders<\/code>模型类将有两个 UserId 作为ApplicationUser<\/code>的外键。

ApplicationUser: IdentityRole 
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public List<Libraries> Libraries { get; set; }
    public List<Orders> Orders { get; set; }
}

好的,您模型中的某些内容看起来不太正确...

在您的 User 类中,您有一个 Orders 集合和一个名为 Library 的类的集合。 然而,在您的 Order 类中,您有一个名为 Library 的属性,但指向 ApplicationUser 类?

EF 确实支持对同一个类有多个引用,但您需要明确告诉它 FK 名称是什么。 EF 的默认约定是将 FK 名称基于导航属性的类型<\/em>,而不是导航属性的名称。

采取以下措施:

public class Order
{
    ....

    public int CreatedById { get; set; }
    public virtual ApplicationUser CreatedBy { get; set; }

    public int LastModifiedById { get; set; }
    public virtual ApplicationUser LastModifiedBy { get; set; }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM