为了账号安全,请及时绑定邮箱和手机立即绑定

AutoMapper 具有未映射属性的问题

AutoMapper 具有未映射属性的问题

C#
慕田峪7331174 2023-07-22 17:04:25
好的,首先,我想做的是从 Angular 的注册表中获取用户详细信息,并将这些详细信息注册到 SQL Server 数据库中。我一直在关注几个教程,我想知道为什么当我运行命令进行新迁移时,它会创建一个具有许多不同属性的表,我没有指定。例如,默认情况下它会创建以下属性:migrationBuilder.CreateTable(                name: "User",                columns: table => new                {                    Id = table.Column<string>(nullable: false),                    UserName = table.Column<string>(maxLength: 256, nullable: true),                    NormalizedUserName = table.Column<string>(maxLength: 256, nullable: true),                    Email = table.Column<string>(maxLength: 256, nullable: true),                    NormalizedEmail = table.Column<string>(maxLength: 256, nullable: true),                    EmailConfirmed = table.Column<bool>(nullable: false),                    PasswordHash = table.Column<string>(nullable: true),                    SecurityStamp = table.Column<string>(nullable: true),                   ConcurrencyStamp = table.Column<string>(nullable: true),                    PhoneNumber = table.Column<string>(nullable: true),                    PhoneNumberConfirmed = table.Column<bool>(nullable: false),                    TwoFactorEnabled = table.Column<bool>(nullable: false),                    LockoutEnd = table.Column<DateTimeOffset>(nullable: true),                    LockoutEnabled = table.Column<bool>(nullable: false),                    AccessFailedCount = table.Column<int>(nullable: false)                },我不知道这些属性从何而来,我想知道是否可以更改它。我按照教程制作了一个网站,但现在我正在尝试自己尝试一个新项目。所以,问题是,当使用 AutoMapper 时,我收到此错误消息,我想知道如何解决此问题:AutoMapper 为您创建了此类型映射,但无法使用当前配置来映射您的类型。AccountModel -> ApplicationUser(目标成员列表) UserWebAPI.Models.AccountModel -> UserWebAPI.Models.ApplicationUser(目标成员列表)未映射的属性: Id NormalizedUserName NormalizedEmail EmailConfirmed PasswordHash SecurityStamp ConcurrencyStamp PhoneNumber PhoneNumberConfirmed TwoFactorEnabled LockoutEnd LockoutEnabled AccessFailedCount
查看完整描述

1 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

我想知道为什么当我运行命令进行新迁移时,它会创建一个具有许多不同属性的表,但我没有指定。

由于您ApplicationUser继承了IdentityUser,当您进行迁移时,它会默认创建具有这些属性的表。您可以按 F12IdentityUser在 vs 中检查模型(查看IdentityUser<string>它继承的)。

映射配置文件.cs:

public class MappingProfile : Profile{ 
   public MappingProfile()
    {
        CreateMap<AccountModel, ApplicationUser>();
    }
}


查看完整回答
反对 回复 2023-07-22
  • 1 回答
  • 0 关注
  • 155 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信