EF 中执行sql 语句

  • Post author:
  • Post category:其他


向原始 SQL 查询引入任何用户提供的值时,必须注意防范 SQL 注入攻击。 除了验证确保此类值不包含无效字符,请始终使用会将值与 SQL 文本分开发送的参数化处理。

具体而言,如果连接和内插的字符串 (

$""

) 带有用户提供的未经验证的值,则切勿将其传递到

FromSqlRaw



ExecuteSqlRaw

。 通过

FromSqlInterpolated



ExecuteSqlInterpolated

方法,可采用一种能抵御 SQL 注入攻击的方式使用字符串内插语法。

            //var vv = await _context.SysRouteDetails.FromSqlInterpolated($"select * from SysRouteDetails").Where(x=> x.SysRouteId == RouteName).ToListAsync();
            var vv = await _context.SysRouteDetails.FromSqlInterpolated($"select * from SysRouteDetails where SysRouteId = {RouteName}").ToListAsync();

记录一下,以上两种方式都是安全的



版权声明:本文为qq61394323原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。