Identity – Custom Entity

扩展属性

Custom Entity 指的是我们想对 Identity 的几个 Entity 做修改.

比如 User 要多一些 property, 或者 Id 用 int 而不是默认的 GUID.

参考: Add, download, and delete custom user data to Identity in an ASP.NET Core project

做法挺简单的. 首先我们要知道 identity 基于 EF Core. 把 ApplicationDbContext 直接继承到 IdentityDbContext 就可以了.  

而这个 IdentityDbContext 其实有好几个版本, 最底层的一个就能够让我们替换所有相关的 Entity 了.

把所有的 class 都重新实现一边 (要继承原本的 Identity class 哦) 然后通过上面这个方式就可以 override 了. 

比如 User

其它的 Role, Claim 都是同一个做法.

 

修改 Database Config

除了添加 column 和换 int Id 以外, 如果想修改 database 的 config 也是可以的, 比如换 table name, column name 等等.

参考: Identity model customization in ASP.NET Core

就是用 Entity Fluent API 就 ok 了.

特别提醒一下,我们只能在 Identity 的结构上扩展,并不能修改它. 比如我不想用 Id 想换成 Alt Key 就不行.

 

posted @ 2021-02-27 12:22  兴杰  阅读(99)  评论(0编辑  收藏  举报