Te recomendamos que revises esta resolución en un entorno controlado antes de enviarlo a producción, saludos.
Solución:
Descubrí que no estaba usando el derivado ApplicationUser
objeto por cualquier cosa, así que seguí adelante y cambié todos los usos de él por el viejo y simple User
. Entonces acabo de cambiar ApplicationDbContext
definición de lo siguiente:
public class ApplicationDbContext : IdentityDbContext<
User, UserClaim, UserSecret, UserLogin,
Role, UserRole, Token, UserManagement>
Y ahora puedo acceder a la lista de usuarios:
UsersContext = new ApplicationDbContext();
...
UsersContext.Users.ToList();
Sin embargo, creo que esto volverá y me perseguirá en el futuro (probablemente necesite agregar más campos a User
), así que probablemente tendré que usar el mismo enfoque que en esta pregunta:
Obtenga todos los nombres de roles en el sistema de identidad ASP.NET MVC5
Editar: Como tuve la necesidad de agregar una nueva propiedad, tuve que revertir mis cambios. Así que seguí adelante e hice una comparación línea por línea con el proyecto de muestra de identidad ASP.NET, y descubrí que el proyecto generado tenía la siguiente línea:
IdentityManager = new AuthenticationIdentityManager(new IdentityStore());
mientras que la aplicación de muestra había incluido el contexto de la base de datos en el constructor. Así que lo agregué en mi constructor, recreé la base de datos y el problema desapareció.
IdentityManager = new AuthenticationIdentityManager(new IdentityStore(new ApplicationDbContext()));
- Crear
ASP .NET MVC5
proyecto por defecto - Crear
ASP .NET Identity
mesas correctamente y cambiar conexión string también. - Para conseguir usuarios solo haz la siguiente prueba A. Ir a
AccountController
B. Cree cualquier método ficticio y colóquelo allí.
var context = new ApplicationDbContext(); var allUsers = context.Users.ToList();
Para RTM, tendrá que bajar a su DbContext
o cualquiera que sea la implementación específica de su tienda para enumerar a todos los usuarios. En la próxima versión, lo más probable es que agreguemos una opción IQueryable
Método Users/Roles en las clases Manager que las tiendas pueden implementar para exponer IQueryables
tanto para usuarios como para tiendas.
Sección de Reseñas y Valoraciones
Si piensas que ha resultado de provecho nuestro artículo, sería de mucha ayuda si lo compartieras con otros entusiastas de la programación de esta forma nos ayudas a dar difusión a este contenido.