|
|
Publicado en 19/2/2021 14:00:14
|
|
|
|

Con Entity Framework Core, puedes acceder a la consulta SQL original cuando usas una base de datos relacional. Cuando la consulta requerida no puede representarse en LINQ, se puede usar la consulta SQL en bruto. También puedes usar consultas SQL en bruto si usar consultas LINQ causa consultas SQL ineficientes. La consulta SQL en bruto puede devolver un tipo de entidad genérico o un tipo de entidad sin clave en el modelo.
Resumen: Ejecutar sentencias SQL y procedimientos almacenados con Entity Framework (EF).
Realizar consultas, actualizaciones y eliminaciones de sentencias SQL, e invocar procedimientos almacenados y vistas usando los siguientes métodos:
- FromSqlRaw
- FromSqlInterpolated
- ExecuteSqlRaw
- ExecuteSqlInterpolated
FromSqlRaw y FromSqlInterpolated se utilizan principalmente para operaciones de consulta ExecuteSqlRaw y ExecuteSqlInterpolated realizan operaciones de añadido, actualización y eliminación en la base de datos, y devolven el número de filas afectadas
El final es una palabra clave interpolada, que suele ser una suma de parámetros, eliminación, modificación y comprobación, y una forma de resistir ataques de inyección SQL usando sintaxis de interpolación de cadenas. Por ejemplo:
Al generar una sentencia SQL, las condiciones de consulta no se pasan por el empalme, como se muestra en la figura siguiente:
Hay algunas limitaciones a tener en cuenta al usar consultas SQL nativas:
Las consultas SQL deben devolver datos para todos los atributos del tipo de entidad. Los nombres de las columnas en el conjunto de resultados deben coincidir con los nombres de columnas a los que se asignan los atributos. Ten en cuenta que este comportamiento es diferente al de EF6. La relación de asignación atributo/columna de la consulta SQL original se ignora en EF6, y los nombres de las columnas del conjunto de resultados deben coincidir con los nombres de los atributos. Las consultas SQL no pueden contener datos asociados. Sin embargo, en muchos casos, puedes usar el método Incluir inmediatamente después de la consulta para devolver datos correlacionados (véase Incluir datos asociativos).
(Fin)
|
Anterior:EF Core Series 4 analiza las sentencias SQL generadasPróximo:Fiddler reemplaza enlaces, solicita redirecciones
|