执行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
相关产品推荐
相关产品推荐

