Как предотвратить запуск запроса в Entity Framework CoreC#

Место общения программистов C#
Ответить
Anonymous
 Как предотвратить запуск запроса в Entity Framework Core

Сообщение Anonymous »

В своем проекте я использую Entity Framework Core 7. В некоторых сценариях моего кода EF Core генерирует пустой запрос, например "", и я получаю следующую ошибку:

(ERROR ) OracleRelationalCommand.ExecuteNonQueryAsync():
System.InvalidOperationException: OracleCommand.CommandText недействителен
в Oracle.ManagedDataAccess.Client.OracleCommand.DoPreExecuteProcessing(OracleDependencyImpl orclDependencyImpl, Boolean bXmlQuerySave)

в Oracle.ManagedDataAccess.Client.OracleCommand.ExecuteNonQuery()

в System.Data.Common.DbCommand.ExecuteNonQueryAsync(CancellationToken cancelToken)

Есть ли способ предотвратить выполнение запроса, когда он равен "" (пустая строка)?
Я использовал перехватчик, но это не сработало.
public class QueriesInterceptor : DbCommandInterceptor
{
public override DbCommand CommandCreated(CommandEndEventData eventData, DbCommand result)
{
return string.IsNullOrWhiteSpace(result.CommandText) ? result : base.CommandCreated(eventData, result);
}

public override DbCommand CommandInitialized(CommandEndEventData eventData, DbCommand result)
{
return string.IsNullOrWhiteSpace(result.CommandText) ? result : base.CommandInitialized(eventData, result);
}
}


Подробнее здесь: https://stackoverflow.com/questions/785 ... ework-core
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»