@@ -22,9 +22,12 @@ namespace EntityFrameworkCore.Ydb.Extensions;
2222
2323public static class YdbServiceCollectionExtensions
2424{
25- public static IServiceCollection AddEntityFrameworkYdb ( this IServiceCollection serviceCollection )
25+ public static IServiceCollection AddEntityFrameworkYdb (
26+ this IServiceCollection serviceCollection ,
27+ bool useYdbExecutionStrategy = true
28+ )
2629 {
27- new EntityFrameworkYdbServicesBuilder ( serviceCollection )
30+ var entityFrameworkServicesBuilder = new EntityFrameworkYdbServicesBuilder ( serviceCollection )
2831 . TryAdd < LoggingDefinitions , YdbLoggingDefinitions > ( )
2932 . TryAdd < IDatabaseProvider , DatabaseProvider < YdbOptionsExtension > > ( )
3033 . TryAdd < IRelationalTypeMappingSource , YdbTypeMappingSource > ( )
@@ -42,7 +45,6 @@ public static IServiceCollection AddEntityFrameworkYdb(this IServiceCollection s
4245 . TryAdd < IHistoryRepository , YdbHistoryRepository > ( )
4346 . TryAdd < IQueryableMethodTranslatingExpressionVisitorFactory ,
4447 YdbQueryableMethodTranslatingExpressionVisitorFactory > ( )
45- . TryAdd < IExecutionStrategyFactory , YdbExecutionStrategyFactory > ( )
4648 . TryAdd < IMethodCallTranslatorProvider , YdbMethodCallTranslatorProvider > ( )
4749 . TryAdd < IAggregateMethodCallTranslatorProvider , YdbAggregateMethodCallTranslatorProvider > ( )
4850 . TryAdd < IMemberTranslatorProvider , YdbMemberTranslatorProvider > ( )
@@ -60,6 +62,11 @@ public static IServiceCollection AddEntityFrameworkYdb(this IServiceCollection s
6062 . TryAddScoped < IDbCommandInterceptor , YdbCommandInterceptor > ( ) )
6163 . TryAddCoreServices ( ) ;
6264
65+ if ( useYdbExecutionStrategy )
66+ {
67+ entityFrameworkServicesBuilder . TryAdd < IExecutionStrategyFactory , YdbExecutionStrategyFactory > ( ) ;
68+ }
69+
6370 return serviceCollection ;
6471 }
6572}
0 commit comments