GOOGLE ADS

viernes, 29 de abril de 2022

Función asíncrona que consulta datos de Entity Framework

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 de EmployeToConnectse 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 tarea FirstOrDefaultAsync(sin esperarla debido a que awaitsolo se puede usar en un método asíncrono)

No hay comentarios.:

Publicar un comentario

Flutter: error de rango al acceder a la respuesta JSON

Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...