首页 > 解决方案 > 包含重复数据的 ASP.NET 表和标识表

问题描述

我正在使用 .NET Framework 4.6.1 和 Entity Framework 6.0.0.0。

我正在开发一个 ASP.NET Web 应用程序 (Web API)。当我看到我的数据库由 Entity Framework 创建时,下面显示的表就像 ASP.NET 用户和应用程序用户,它们有一些重复的数据。此外,在IdentityUserRoles并且ASPNETUserRoles也有重复的数据。

我不想保留这些重复的表,主要是想继续使用 ASP.NET 表而不是标识表。我怎样才能做到这一点,我需要做什么?为什么会创建这些具有相同数据的重复表?

以下是我正在使用的用户模型:-

public class User 
    {
        [Key]
        public int id { get; set; }

        public string application_user_id { get; set; }
        [ForeignKey("application_user_id")]
        public virtual ApplicationUser applicationuser { get; set; }
        public DateTime? start_date { get; set; }
        public DateTime? end_date { get; set; }


        public virtual ICollection<Test> Tests{ get; set; }

    }

在此处输入图像描述

标签: asp.netentity-frameworkasp.net-web-apientity-framework-6asp.net-identity

解决方案


我认为您的问题的答案是在您的表中继承身份表的属性。为了清楚起见,您只需要将模型更改为如下所示:

public class user : IdentityUser
{
...
}

这样,身份用户中的列将被添加到用户表中,除了用户表的个性化列之外,我不确定我的答案是否足够清楚,但如果你想学习,我会在这里放一个链接有关如何个性化身份表的更多信息:自定义身份模型


推荐阅读