C # Identity UserManager CreateAsync y luego FindByEmailAsync devuelve User with Id = 0

asp.net-identity-2 dapper dapper-extensions sqlconnection

Pregunta

Identidad con Dapper.

Mi usuario en mi Identidad es de tipo IUser <int>

Cuando un usuario se registra, creo un usuario en mi AccountController:

Registrarse POST:

if (ModelState.IsValid)
{
    user = new MySiteUserRecord
    {
        UserName = model.UserName,
        AccessFailedCount = 0,
        ApplicationName = "Portal",
        Description = string.Empty,
        PhoneNumber = model.PhoneNumber ?? string.Empty,
        Email = model.Email
    };
    var result = await UserManager.CreateAsync(user, model.Password);
    if (result.Succeeded)
    {
       ...

Si tengo éxito, necesito obtener el registro de usuario recién creado, porque la "nueva" clase de usuario, presente anteriormente, no sabía cuál es su identificación aún ...

       user = await UserManager.FindByNameAsync(model.UserName);

Cuando miro este registro de usuario encontrado, el usuario.Id = 0. Pero si miro la base de datos, la fila para este usuario recién creado es la siguiente identificación, por ejemplo, 9 Incluso si hago una consulta directa de Db, más bien Luego de usar la función FindByNameAsync del UserManager, la ID devuelta siempre es 0.

Estoy realmente perplejo - probablemente me he perdido algo ...

¿Qué debo hacer para obtener el registro de usuario con el ID de DB asignado?

EDITAR: Mi función Buscar usuario es:

    Task<MySiteUserRecord> IUserStore<MySiteUserRecord, int>.FindByNameAsync(string userName)
    {
        var predicate = Predicates.Field<MySiteUserRecord>(f => f.UserName, Operator.Eq, userName);
        return Task.Factory.StartNew(() => _sqlConn.GetList<MySiteUserRecord>(predicate).FirstOrDefault());
    }

Respuesta aceptada

Una clase de asignador para mi clase de usuario específicamente le dijo a DapperExtensions que ignorara mi campo de identificación. Debe tener cuidado al usar otras extensiones Dapper y debe investigar cómo interactúan con su sistema.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué