为什么IdentityUser类在Microsoft.AspNet.Identity.EntityFramework命名空间中而不在Core包中?

Iss*_*ram 10 .net c# asp.net entity-framework asp.net-identity-2

为什么包中的IdentityUserMicrosoft.AspNet.Identity.EntityFramework而不是包含在Microsoft.AspNet.Identity.Core包中?

为什么它应该依赖于EntityFramework?这似乎是一个简单的课程.

我错过了什么?

我通常将数据层与我的DAL分开.EntityFrameworkIdentityUser类添加依赖关系似乎有点多.

div*_*ega 7

Identity的核心设计不与EF或任何特定形式的用户和角色类型相关联.一切都被商店抽象出来.实际上,对于任何给定的持久性提供程序,类型甚至根本不需要是POCO!

对于Identity 3.0,我们考虑将我们当前的类型放在核心中(实际上,在某些时候我们已将它们放在那里)但是我们从熟悉其他持久性框架的人那里获得了非常可靠的反馈,尽管这些类型可以符合"POCO"的通用定义,它们非常符合EF.

我们还考虑在核心中使用基类,我们将在EF包中扩展EF.我们降落在原地,因为这似乎没有足够的好处.在添加额外继承层的复杂性(更复杂性会使我们更容易引入错误)与类型本身不那么复杂以及持久性提供者编写者想要将它们作为欢迎起点复制并粘贴代码.