public Task <IdentityUser> FindByIdAsync(string userId) { if (string.IsNullOrEmpty(userId)) { throw new ArgumentException("Cannot match null or empty userId", "userId"); } IdentityUser matchedUser = this.dbContext.IdentityUsers.FirstOrDefault(x => x.Id == userId); if (matchedUser != null) { IdentityUser detachedUser = dbContext.CreateDetachedCopy(matchedUser); return(Task.FromResult <IdentityUser>(detachedUser)); } return(Task.FromResult <IdentityUser>(null)); }