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 asyncpalabra clave, el resultado de EmployeToConnectestará 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
asyncpalabra clave, el resultado deEmployeToConnectse incluirá en su propia tarea nueva, que a su vez espera la tarea subyacente deFirstOrDefaultAsync - Sin la
asyncpalabra clave, también podría devolver directamente la tareaFirstOrDefaultAsync(sin esperarla debido a queawaitsolo se puede usar en un método asíncrono)
No hay comentarios.:
Publicar un comentario