Creé esta función y no estoy seguro de que sea la mejor manera de crear una función asíncrona que obtenga datos del marco de la entidad:
public async Task<Employe?> EmployeToConnect(string login, string password)
{
Employe? employeResult = null;
employeResult = await _context.Employes.FirstOrDefaultAsync
(empl => empl.Login == login && empl.Password == password);
return employeResult;
}
Hay una mejor manera de hacerlo? (¿Al ver que el tipo devuelto inspeccionado es Tarea<Empleado> y acabamos de devolver Empleado? )
Solución del problema
El tipo de retorno seguirá siendo un Task<Employee?>
. Debido a la async
palabra clave, el resultado de EmployeToConnect
estará envuelto en una tarea. También puede evitar la palabra clave asíncrona y devolver la tarea directamente, pero esto afectará el funcionamiento del manejo de excepciones (aunque significaría un beneficio de rendimiento muy pequeño).
- Debido a la
async
palabra clave, el resultado deEmployeToConnect
se incluirá en su propia tarea nueva, que a su vez espera la tarea subyacente deFirstOrDefaultAsync
- Sin la
async
palabra clave, también podría devolver directamente la tareaFirstOrDefaultAsync
(sin esperarla debido a queawait
solo se puede usar en un método asíncrono)
No hay comentarios.:
Publicar un comentario