I\'ve extended IdentityUser
to include a navigation property for the user\'s address, however when getting the user with UserManager.FindByEmailAsync
I found it useful to write an extension on the UserManager class.
public static async Task FindByUserAsync(
this UserManager input,
ClaimsPrincipal user )
{
return await input.Users
.Include(x => x.InverseNavigationTable)
.SingleOrDefaultAsync(x => x.NormalizedUserName == user.Identity.Name.ToUpper());
}