【发布时间】:2018-03-17 04:09:50
【问题描述】:
我正在为我的用户模型使用通用的IdentityUser<T> 类,并使用string 作为主键一切正常,但我想使用long 作为键类型。所以,我使用的是 IdentityUser 的通用版本。现在我发现 UserManager 有如下定义:
public class UserManager<TUser> : IDisposable where TUser : class
还有下面的函数
public virtual Task<TUser> FindByIdAsync(string userId);
这似乎不适合在一起,因为该函数需要一个字符串作为键/ID。 TUser 必须是 TUser<TKey>。
现在的问题是,是否会因为将字符串解析为 long(当然有)而导致性能损失,还是使用普通数据库选择直接从 DbContext 获取用户对象更好? UserManager 是否有任何好处,因此即使有字符串键要求也建议使用它?
谢谢!
【问题讨论】:
标签: c# asp.net-core