I want to set up the execution strategy for Oracle in Entity Framework Core 2.2 by using the DbContext injection. I am using NuGet package Oracle.EntityFrameworkCore for connecting to an Oracle DB.
services.AddDbContext<MyContext>(options =>
{
options.UseOracle(configuration.GetConnectionString("MyConnection"), oracleOptionsAction: oracleOptions =>
{
oracleOptions.ExecutionStrategy(x =>
new MyExecutionStrategy();
});
});
I have created the following execution strategy class for testing purposes. It turns out the class DbExecutionStrategy does not exist in dotnet core:
public class MyExecutionStrategy : DbExecutionStrategy
{
public MyExecutionStrategy() : base(10, TimeSpan.FromSeconds(30))
{
}
protected override bool ShouldRetryOn(Exception exception)
{
return true;
}
}