Entity Framework Core Interview Question #138

How can raw SQL queries be executed in EF Core?

Performance, Raw SQL, Stored Procedures & Advanced Queries Senior Advanced

Quick Interview Answer

EF Core provides relational APIs such as FromSql for querying mapped types from raw SQL when LINQ is insufficient or existing SQL must be reused. Raw SQL should be deliberate because it reduces provider independence and can be harder to refactor. Parameterization is essential whenever external values are included.

Detailed Explanation

EF Core provides relational APIs such as FromSql for querying mapped types from raw SQL when LINQ is insufficient or existing SQL must be reused. Raw SQL should be deliberate because it reduces provider independence and can be harder to refactor. Parameterization is essential whenever external values are included.

Code Example

var products = await db.Products
    .FromSql($"SELECT * FROM Products WHERE Price >= {minimumPrice}")
    .AsNoTracking()
    .ToListAsync();