AspNet Identity UserManager Find with Select(最佳sql查询)

时间:2014-12-19 15:49:34

标签: sql performance entity-framework asp.net-identity

我有AspNet Identity的wcf fulRest服务。我的Android应用程序使用此Web服务与数据库通信 - 我使用ssl使连接安全(我的应用程序是一个迷你游戏,因此它不包含如此重要的数据,我相信ssl在这种情况下是足够的保护)。

我有函数LoginUser(string userName,string unHashedPassword),如果用户存在则返回用户的id。在所有其他函数中,如果action需要curUser的信息,则使用此id - 例如我有函数addComment(string userId,string msg)(这种方法仍然使用ssl来保护不需要的句柄userId)。

在LoginUser中,我通过使用获取id(以及更多信息,如电子邮件,gameLogin):

using (var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(_context)))
{
            ApplicationUser user = userManager.Find(userName, password);
            if (user != null)
            {
                result = new LogInBaseData()
                {
                    Id = user.Id,
                    Email = user.Email,
                    Login = user.ApplicationLogin
                };
            }
}

但是函数Find生成大量查询,为我选择了许多不需要的数据。有什么方法可以最佳化吗?我更喜欢通过context.User.Where()。选择(),但我不能哈希用户的密码。

0 个答案:

没有答案