自定义指的是我们想对 Identity 的几个 Entity 做修改.
比如 User 我们要多记入一些 column, 或者我们不喜欢 guid 作为 Id 想用 int 来做.
做法挺简单的. 首先我们知道 identity 基于 ef core 嘛. 把 ApplicationDbContext 直接继承到 IdentityDbContext 就可以了.
而这个 IdentityDbContext 其实有好几个版本. 最底层的一个就能够让我们替换所有的 entity 了
我们把所有的 class 都重新实现一边 (要继承原本的 identity class 哦) 然后通过上面这个方式就可以 override 了.
比如 User
其它的 Role, Claim 都是同一个做法.
除了添加 column 和换 int Id 以外, 如果想修改 database 的 config 也是可以的, 比如换 table name, column name 等等
就是走 entity fluent api 就 ok 了
特别提醒一下,我们只能在 identity 的结构上扩展,并不能修改它. 比如我不想用 Id 想换成 alt key 就不行了.