c# - myCustomDbContext 无法转换为服务类型“Microsoft.AspNetCore.Identity.IUserStore`1[erp_colombia.Entities.Employee]”
问题描述
我想制作 IdentityDbContext 并拥有自定义用户类型的员工。但是当我启动应用程序时出现此错误
"ArgumentException: Implementation type 'erp_colombia.erp_colombiaDbContext' can't be converted to service type 'Microsoft.AspNetCore.Identity.IUserStore`1[erp_colombia.Entities.Employee]'" How can I fix this problem thank you very much.
这是我的 asp.net core startup.cs 文件中导致问题的行。
services.AddIdentityCore<Employee>().AddUserStore<erp_colombiaDbContext>();
这是我的 Employee 类的样子
[Table("erp_empleados")]
public class Employee : IdentityUser
{
public string Name { get; set; }
public string FamilyName { get; set; }
//AND MANY MORE FIELDS....
}
这是我的自定义 dbContext 的样子
public class erp_colombiaDbContext : IdentityDbContext
{
public erp_colombiaDbContext(DbContextOptions options) : base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
}
public DbSet<Employee> Employees { get; set; }
public DbSet<Menu> Menus { get; set; }
//ADD MANY MORE DbSets
}
解决方案
我不得不改变
services.AddIdentityCore<Employee>().AddUserStore<erp_colombiaDbContext>();
至
services.AddIdentityCore<Employee>().AddEntityFrameworkStores<erp_colombiaDbContext>();
推荐阅读
- javascript - 从 XML Doc 的 NodeList 中删除节点
- c++ - Qt & C++:具有不同返回和参数类型的函数指针数组
- java - 如何实现支持添加 O(1)、删除最大 O(logn) 的集合,反之亦然?
- uitextfield - 将多个 UITextField 附加到一个 iBOutlet
- r - 使用多个条件重命名 r 中的列
- android - 刷新消息队列以防止基于消息的泄漏。但是要刷新哪个 HandlerThread?
- gatsby - 如何通过 GitHub 升级部署在 Netlify 上的 Gatsby 入门博客?
- python - 如何使用 argmax 将索引返回到无法重新整形为矩阵的多维 ndarray?
- python - 如何按嵌套列表的第一个元素对嵌套列表进行分组?
- javascript - 如何在不使用 Js id 选择器的情况下动态获取 Angular 中的 *ngFor 中的元素