使用带有Identity和EF 6的asp.net 5 MVC 6的示例

Tom*_*Tom 9 entity-framework-6 asp.net-identity-2 asp.net-core

我正在使用asp.net 5和MVC 6建立一个新项目,但由于EF 7缺少功能,我想使用Entity Framework 6.

我设置了EF 6.1.3,这是有效的.

Identity 3.0依赖于EF 7,因此我删除了它并在Identity 2.2中引用但我不确定从何处开始.

Mat*_*rey 2

这分为几个部分。

  1. 您可以使用Microsoft.AspNet.Identity3.0.0,但您需要制作自己的UserStoreRoleStore. 就我个人而言,我复制了UserStore.csRoleStore.cs的源代码 ,并进行了必要的调整以使用我的 EF6 User 和 Role 类。它们具有 EF6 中默认未使用的一些附加功能,例如您需要支持(或解决)的规范化用户名、电子邮件地址和角色名称,但接口仅需要 POCO,因此您会很擅长。
  2. 遵循Identity Sample MVC 项目,但在启动文件中指定您自己的商店:
services.AddIdentity<MyEf6User, MyEf6Role>()
    .AddRoleStore<MyEf6RoleStore>()
    .AddUserStore<MyEf6UserStore>();
Run Code Online (Sandbox Code Playgroud)
  1. 请注意,Microsoft.AspNet.Identity(以及所有 asp.net 5)仍在开发中,并且诸如不记名令牌之类的内容很大程度上没有记录,而 Identity 3 确实有更多的设置比身份2.x;它需要一些调整,并将针对 CTP 7 和其他未来版本进行更改。