@@ -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 > ( )
@@ -57,8 +59,14 @@ public static IServiceCollection AddEntityFrameworkYdb(this IServiceCollection s
5759 . TryAdd < IQueryCompilationContextFactory , YdbQueryCompilationContextFactory > ( )
5860 . TryAddProviderSpecificServices ( b => b
5961 . TryAddScoped < IYdbRelationalConnection , YdbRelationalConnection > ( )
60- . TryAddScoped < IDbCommandInterceptor , YdbCommandInterceptor > ( ) )
61- . TryAddCoreServices ( ) ;
62+ . TryAddScoped < IDbCommandInterceptor , YdbCommandInterceptor > ( ) ) ;
63+
64+ if ( useYdbExecutionStrategy )
65+ {
66+ entityFrameworkServicesBuilder . TryAdd < IExecutionStrategyFactory , YdbExecutionStrategyFactory > ( ) ;
67+ }
68+
69+ entityFrameworkServicesBuilder . TryAddCoreServices ( ) ;
6270
6371 return serviceCollection ;
6472 }
0 commit comments