如何自定义 AspNet 标识 2.0 以仅生成我需要的标识表?



我是 Identity 2.0 模块的新手,我想控制数据库中的身份模块生成的表,因为我有时不需要所有这些表,甚至有时不需要每个表中生成的大部分列。那么,有什么方法可以控制生成的表和列吗?

如果不使用,SQL Server 中的表很便宜。它们实际上不占用任何空间,也不需要花费任何精力来维护。删除框架为您生成的空表/字段是没有意义的。这个问题已经被多次提出,但我还没有看到一个好的答案。因为您想做的事情给您带来绝对零的好处,并且现在增加了大量工作,并在以后的应用程序线上增加了大量维护。

但是,如果您坚持这样做,则需要开始拆解IdentityDbContext- 您需要实现自己的DbContext,该仅包含所需的表。然后,您需要实现自己的IUserStorage,可以处理缺少的表。下面是学习如何实现自定义存储的起点。

您可以找到标识的源代码,复制相关的存储代码并删除您不需要的位,并为您将无用的方法添加NotSupportedException

最新更新