EntityFramework e Select From Raw
Olá pessoal, hoje eu vou mostrar como fazer um select usando o EntityFramework que conecta com o banco de dados e busca algum valor usando SqlParameter ao invés de usar aspas simples ou aspas duplas.
Lembro a vocês que o InjectSQL esta presente em todo o lado e a sua aplicacao pode ser invadida facilmente usando esse metodo.
Para evitar isso, basta usar SqlParameter. Veja o codigo 1.1.
public async Task<Member> GetMemberId(int senderMemberId)
{
var sql = @"SELECT
Field1, Field2, Field3
FROM
MEMBER
WHERE Mem_Id = @memberId";
var parameter = new SqlParameter("@memberId", senderMemberId);
try
{
var member = await _db.Member.FromSqlRaw(sql, parameter).FirstOrDefaultAsync();
return member;
}
catch (Exception ex)
{
throw ex;
}
}
Primeiro de tudo eu uso o SELECT com o @(arroba) antes para saber quais são os filtros e campos que eu preciso fazer.
Depois basta criar uma nova instância do SqlParameter com o mesmo valor condicional do parametro WHERE informando o valor que necessita.
Para executar o comando RAW, basta usando o FromSqlRaw e passar o sql e o parametro informado.
Espero que tenha gostado e qualquer duvida pode entrar em contato comigo pelo site https://www.mauriciojunior.net.