EF Core 3.x + предоставляет два необработанных SQL набора методов - FromSql
и ExecuteSql
, оба с версиями Raw
/ Interpolated
и Async
.
Первые являются используется для запросов . Они возвращают IQueryable<T>
, разрешают составление запроса и, поскольку любой запрос LINQ не выполняется, пока не будет перечислен результат.
В то время как последний используется для немедленного выполнения произвольного SQL (DDL, DML, batch et * 1024) *.). Они являются EF Core эквивалентом ADO. NET ExecuteNonQuery
и возвращают затронутые записи. Для получения результатов можно использовать параметры примитива вывода (или ввода / вывода).
Вкратце, ExecuteSql
методы - это то, что вы ищете. В вашем примере ExecuteSqlRaw , например (при условии, что это метод в вашем производном классе DbContext
):
public void ClearIterations()
{
this.Database.ExecuteSqlRaw("ClearIterations");
}