El problema
Hacer una consulta a la base de datos antes de que se inicie nuestra aplicación de Blazor, (aunque también se puede aplicar fácilmente a una versión de consola). Necesito hacer una consulta a la base de datos para obtener un string, es un cambio trivial que de otra forma hubiera requerido un mapeado y un problema con QA. Lo pongo aquí porque estoy seguro que no será la única vez que lo vaya a necesitar.
Creamos el escalar
public class ScalarString {
public string Value { get; set; } = default!;
}
Creamos la clase que maneja la conexión a BD
public class DBDirectAccess : DbContext
{
protected readonly string _connectionString = string.Empty;
public DBDirectAccess(string connectionString)
{
_connectionString = connectionString;
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(_connectionString);
}
}
Y Finalmente hacemos la consulta
Cabe mencionar que la consulta debe de regresar un
Value para llenar la clase escalar.
using (DBDirectAccess db = new DBDirectAccess(builder.Configuration.GetConnectionString("SQLServer_Connection")!))
{
ScalarString? url = await db.Database.SqlQueryRaw<ScalarString>($"SELECT Url as Value FROM TB_URLS WHERE HUMAN_ID = 'HOST'").SingleOrDefaultAsync();
}
Comentarios
Publicar un comentario