Van*_*nel 5 c# asp.net entity-framework asp.net-identity
我正在使用.NET Framework 4.5.1和Asp.Net Identity 2.1.0开发Web Api 2.2应用程序.
我不确定我在做什么,但我想将我的数据库与ASP.NET Identity数据库合并,我已经这样做了:
我自己的dbContext.
public class EFDbContext : IdentityDbContext, IUnitOfWork
Run Code Online (Sandbox Code Playgroud)
我自己的User课.
public class User :
IdentityUser<long,
IdentityUserLogin<long>,
IdentityUserRole<long>,
IdentityUserClaim<long>
>
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时:
UserManager<User> _userManager;
我收到此错误:
该类型Data.Models.User不能用作类型的参数TUser.没有任何显式转换Data.Models.User到Microsoft.AspNet.Identity.IUser<string>.
因为我想有我这样做是IdentityUser.Id为long代替string.
我该如何解决这个错误?
UPDATE
用以下内容更新UserManager后:
UserManager<User, long> _userManager;
Run Code Online (Sandbox Code Playgroud)
我在这里得到三个错误:
EFDbContext_ctx = context as EFDbContext;
_userManager = new UserManager<User, long>(new UserStore<User>(_ctx));
Run Code Online (Sandbox Code Playgroud)
- "Microsoft.AspNet.Identity.UserManager.UserManager(Microsoft.AspNet.Identity.IUserStore)"方法重载的最佳匹配有一些无效的参数 -
- "Data.Models.User"类型不能用作"TUser"类型的参数或通用方法"Microsoft.AspNet.Identity.EntityFramework.UserStore".没有从'Data.Models.User'到'Microsoft.AspNet.Identity.EntityFramework.IdentityUser'的隐式引用的转换.
- 参数1:无法从"Microsoft.AspNet.Identity.EntityFramework.UserStore"转换为"Microsoft.AspNet.Identity.IUserStore"
我该如何解决这个新错误?
UserManager<User, long> _userManager;
Run Code Online (Sandbox Code Playgroud)
您正在使用此UserManager:
表示用户的主键为string类型的用户的用户管理器.
| 归档时间: |
|
| 查看次数: |
12166 次 |
| 最近记录: |