gpt4 book ai didi

c# - ASP.NET Core 2.1 EF - 一对一关系仅在关系的一侧生成外键约束

转载 作者:太空宇宙 更新时间:2023-11-03 12:07:12 28 4
gpt4 key购买 nike

我有以下两个模型:

public class ApplicationUser : IdentityUser
{
public int? ShoppingCartId { get; set; }
public ShoppingCart ShoppingCart { get; set; }
}
public class ShoppingCart
{
public int Id { get; set; }

public string UserId { get; set; }
public ApplicationUser ApplicationUser { get; set; }
}

运行后Add-Migration <some-name>我注意到生成的迁移为 ShoppingCartId 创建了一个 FK AspNetUsers 中的列表(由 ApplicationUser 类表示的那个),但反过来在 ShoppingCart 的一侧表,没有为 UserId 创建 FK专栏。

有什么解决办法吗?

最佳答案

你搞错了关系。

用户并不“拥有”购物车(或者至少不必,例如在新注册时),购物车“属于”用户。您可能还希望以用户(可能不是现在,但以后)是多个购物车的所有者的方式对此进行建模。

所以:

public class ApplicationUser : IdentityUser
{
// Later: public List<ShoppingCart> ShoppingCarts { get; set; }
public ShoppingCart ShoppingCart { get; set; }
}
public class ShoppingCart
{
public int Id { get; set; }

public string UserId { get; set; }
public ApplicationUser User { get; set; }
}

关于c# - ASP.NET Core 2.1 EF - 一对一关系仅在关系的一侧生成外键约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54345362/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com