В своем проекте я использую 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