【问题标题】:Creating A Relationship With AspNetUsers Table [closed]创建与 AspNetUsers 表的关系 [关闭]
【发布时间】:2019-09-30 02:52:32
【问题描述】:

我首先使用数据库。我有一个 Adopters 表和一个 Owners 表。我希望它们都与 AspNetUser 表有关系。最终目标是让用户可以选择注册为采用者或所有者。

【问题讨论】:

  • 请提供有关您的错误的信息。
  • 所以现在我决定把它放到用户可以注册的地方。从那里,我会让他们注册为采用者或所有者。但是,当我尝试注册新用户时,出现错误:EntityType 'AspNetUserLogin' has no key defined。定义此 EntityType 的键
  • 我的 Adopter 和 Owner 表上有一个 AspNetUsers 外键。我不确定这是否是问题所在。 @habib

标签: c# mysql sql .net asp.net-mvc


【解决方案1】:

您正在寻找与 AspNetUsers 表的一对多关系 使用以下代码:

public class Owner
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string UserId { get; set; }
    [ForeignKey("UserId")]
    public ApplicationUser ApplicationUser { get; set; }
}

public class Adopter
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string UserId { get; set; }
    [ForeignKey("UserId")]
    public ApplicationUser ApplicationUser { get; set; }
}

【讨论】:

  • 问题,将这些 fk 添加到部分类后,我将如何更新数据库?
  • 步骤 1.检查迁移文件夹是否存在于您的文件夹中。第 2 步。如果没有,则打开 Nuget 包控制台并键入 Enable-Migrations 第 3 步。上面的命令将启用迁移,您将能够看到迁移文件夹。步骤 4. 编写另一个命令来添加迁移 - Add-Migration 步骤 5. 更新数据库的最终命令 - 更新数据库 在此之后,您的数据库应该更新为新模式。
  • 如果你需要代码,试试这个 git repo github.com/nitinsingh9x/AspIdentity
  • 当我尝试为 models.applicationdbcontext 启用迁移时,我仍然收到此错误:EntityType 'AspNetUserLogin' has no key defined。定义此 EntityType 的键
  • 它说当我只使用 Add-Migration 时我有两种不同的上下文类型。这是因为我的网络配置中有两个不同的连接字符串吗?谢谢你的回购。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多