我看到了很多关于 asp.net Identity 2.0与esixting数据库的报道,但他们仍然使用相同的表名(AspNetUsers)和列名,还有一些列我不想使用,所以我只想实现IUser,我不需要继承IdentityUser,我只需要3个表(User,Roles,UserRole)。
如何将 asp.net 身份 2.0 与旧的自定义数据库一起使用
这当然是可能的。如果对现有数据库使用实体框架,则基本上有两个选项。
- 通过在数据库上下文上使用您自己的
OnModelCreating
覆盖,提供您自己的到内置类的映射。 - 通过在一个存储类中实现
IUserStore
、IRoleStore
和IUserRoleStore
,为 ASP.NET 身份提供自己的存储。这样,您可以映射到数据模型中的现有类。
如果使用 EF Code First 以外的其他数据库访问,则必须使用选项 2