You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行Add-Migration失败:无法创建DbContext,IdentityUser需定义主键

解决Add-Migration时IdentityUser实体无主键的异常

你的问题出在自定义的IdentityUser类没有明确标记主键,EF Core无法自动识别主键字段,导致创建迁移时抛出异常。以下是两种可行的解决方法:

方法一:使用数据注解标记主键

在AccountId字段上添加[Key]特性,明确指定它为主键:

using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;

namespace AgiznaProject.Models
{
    public class IdentityUser
    {
        [Key]
        public int AccountId { get; set; }
        public Guid AccountGuid { get; set; }
    
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Email { get; set; }
        public string Address { get; set; }
        public string ContactNumber { get; set; }
        public bool Verified { get; set; }
        public string Checksum { get; set; }
        public string Password { get; set; }
        public DateTime Created { get; set; }
        public DateTime Updated { get; set; }
    }
}

方法二:使用Fluent API配置主键

如果不想在实体类中添加特性,可以在你的DbContext的OnModelCreating方法中配置主键:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<IdentityUser>()
        .HasKey(u => u.AccountId);
}

修改完成后,重新执行Add-Migration命令即可正常生成迁移文件。

内容的提问来源于stack exchange,提问作者Emmanuel Rusiana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 18:06:01