none
Como obtener el ultimo registro insertado en una tabla con query linq ? RRS feed

  • Pregunta

  • Hola

    Tengo una tabla de nombre ResetPassword  donde nesecito obtener el ultimo registro insertado segun email y Estatus, mi consulta en sql seria algo asi

    SELECT MAX(*) FROM ResetPassword WHERE Email = @Email AND Estatus = 0;

    Deberia devolver el registro de id = 3

    Estructura de mi tabla

    Id      Email                           Fecha                   Estatus          Code
    
    1     myemail1@hotmail.com              04/08/2019               0               dfsfdfsfs
    
    2     myemail1@hotmail.com              04/08/2019               0               dasdfgjgfhy
    
    3     myemail1@hotmail.com               04/08/2019              0               fsfdsfdsd



    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    domingo, 4 de agosto de 2019 20:19

Respuestas

  • Hola, deberías hacer una consulta Linq usando como condición email y status, ordenarla por el campo id de forma descendente y coger el primero

    var lastRecord = objContext.ResetPassword
                               .Where(x 
                                     => x.Email == email
                                     && x.Status == 0)
                                 .OrderByDescending(x => x.Id)
                                 .Take(1);


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    domingo, 4 de agosto de 2019 21:45
  •      public string ObtenerCodigoRestablecerPassword(string email)
            {
                ResetPassword C = new ResetPassword();
                try
                {
                    using (SudokuContext context = new SudokuContext())
                    {
                        C = context.ResetPassword.Where(x => x.Email == email && x.Estatus == false) .OrderByDescending(x => x.Id) .Take(1).FirstOrDefault();
                        if (C != null)
                            return C.Codigo;
                    }
                }
                catch
                { }
                return string.Empty;
            }



    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    lunes, 5 de agosto de 2019 1:39

Todas las respuestas

  • Hola, deberías hacer una consulta Linq usando como condición email y status, ordenarla por el campo id de forma descendente y coger el primero

    var lastRecord = objContext.ResetPassword
                               .Where(x 
                                     => x.Email == email
                                     && x.Status == 0)
                                 .OrderByDescending(x => x.Id)
                                 .Take(1);


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    domingo, 4 de agosto de 2019 21:45
  •      public string ObtenerCodigoRestablecerPassword(string email)
            {
                ResetPassword C = new ResetPassword();
                try
                {
                    using (SudokuContext context = new SudokuContext())
                    {
                        C = context.ResetPassword.Where(x => x.Email == email && x.Estatus == false) .OrderByDescending(x => x.Id) .Take(1).FirstOrDefault();
                        if (C != null)
                            return C.Codigo;
                    }
                }
                catch
                { }
                return string.Empty;
            }



    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    lunes, 5 de agosto de 2019 1:39