@tsonic/efcore 10.0.2 → 10.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/Microsoft.EntityFrameworkCore/internal/index.d.ts +18 -35
  2. package/Microsoft.EntityFrameworkCore.ChangeTracking/internal/index.d.ts +28 -69
  3. package/Microsoft.EntityFrameworkCore.ChangeTracking.Internal/internal/index.d.ts +153 -261
  4. package/Microsoft.EntityFrameworkCore.Design/internal/index.d.ts +43 -55
  5. package/Microsoft.EntityFrameworkCore.Design.Internal/internal/index.d.ts +8 -16
  6. package/Microsoft.EntityFrameworkCore.Diagnostics/internal/index.d.ts +24 -46
  7. package/Microsoft.EntityFrameworkCore.Diagnostics.Internal/internal/index.d.ts +8 -50
  8. package/Microsoft.EntityFrameworkCore.Infrastructure/internal/index.d.ts +160 -247
  9. package/Microsoft.EntityFrameworkCore.Infrastructure.Internal/internal/index.d.ts +5 -9
  10. package/Microsoft.EntityFrameworkCore.Internal/internal/index.d.ts +0 -3
  11. package/Microsoft.EntityFrameworkCore.Metadata/internal/index.d.ts +304 -407
  12. package/Microsoft.EntityFrameworkCore.Metadata.Builders/internal/index.d.ts +130 -268
  13. package/Microsoft.EntityFrameworkCore.Metadata.Conventions/internal/index.d.ts +266 -598
  14. package/Microsoft.EntityFrameworkCore.Metadata.Conventions.Infrastructure/internal/index.d.ts +6 -15
  15. package/Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal/internal/index.d.ts +1 -1
  16. package/Microsoft.EntityFrameworkCore.Metadata.Internal/internal/index.d.ts +436 -763
  17. package/Microsoft.EntityFrameworkCore.Migrations/internal/index.d.ts +95 -116
  18. package/Microsoft.EntityFrameworkCore.Migrations.Internal/internal/index.d.ts +56 -64
  19. package/Microsoft.EntityFrameworkCore.Migrations.Operations/internal/index.d.ts +229 -347
  20. package/Microsoft.EntityFrameworkCore.Migrations.Operations.Builders/internal/index.d.ts +2 -6
  21. package/Microsoft.EntityFrameworkCore.Query/internal/index.d.ts +468 -719
  22. package/Microsoft.EntityFrameworkCore.Query.Internal/internal/index.d.ts +151 -301
  23. package/Microsoft.EntityFrameworkCore.Query.SqlExpressions/internal/index.d.ts +144 -335
  24. package/Microsoft.EntityFrameworkCore.Scaffolding/internal/index.d.ts +4 -10
  25. package/Microsoft.EntityFrameworkCore.Scaffolding.Metadata/internal/index.d.ts +73 -102
  26. package/Microsoft.EntityFrameworkCore.Storage/internal/index.d.ts +244 -452
  27. package/Microsoft.EntityFrameworkCore.Storage.Internal/internal/index.d.ts +19 -47
  28. package/Microsoft.EntityFrameworkCore.Storage.Json/internal/index.d.ts +3 -32
  29. package/Microsoft.EntityFrameworkCore.Storage.ValueConversion/internal/index.d.ts +3 -9
  30. package/Microsoft.EntityFrameworkCore.Update/internal/index.d.ts +114 -133
  31. package/Microsoft.EntityFrameworkCore.Update.Internal/internal/index.d.ts +21 -43
  32. package/Microsoft.EntityFrameworkCore.ValueGeneration/internal/index.d.ts +21 -49
  33. package/Microsoft.EntityFrameworkCore.ValueGeneration.Internal/internal/index.d.ts +5 -14
  34. package/package.json +1 -1
@@ -328,7 +328,7 @@ export interface EntityMaterializerSourceParameters$instance {
328
328
  Equals(obj: unknown): boolean;
329
329
  Equals(other: EntityMaterializerSourceParameters): boolean;
330
330
  GetHashCode(): int;
331
- ToString(): string | undefined;
331
+ ToString(): string;
332
332
  }
333
333
 
334
334
 
@@ -374,7 +374,7 @@ export interface StructuralTypeMaterializerSourceParameters$instance {
374
374
  Equals(obj: unknown): boolean;
375
375
  Equals(other: StructuralTypeMaterializerSourceParameters): boolean;
376
376
  GetHashCode(): int;
377
- ToString(): string | undefined;
377
+ ToString(): string;
378
378
  }
379
379
 
380
380
 
@@ -385,14 +385,9 @@ export const StructuralTypeMaterializerSourceParameters: {
385
385
 
386
386
  export type StructuralTypeMaterializerSourceParameters = StructuralTypeMaterializerSourceParameters$instance;
387
387
 
388
- export abstract class CollectionResultExpression$protected {
389
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
390
- }
391
-
392
-
393
- export interface CollectionResultExpression$instance extends CollectionResultExpression$protected, Expression {
388
+ export interface CollectionResultExpression$instance extends Expression {
394
389
  readonly ElementType: Type;
395
- readonly Navigation: INavigationBase;
390
+ readonly Navigation: INavigationBase | undefined;
396
391
  readonly NodeType: ExpressionType;
397
392
  readonly ProjectionBindingExpression: ProjectionBindingExpression;
398
393
  readonly QueryExpression: Expression;
@@ -400,6 +395,7 @@ export interface CollectionResultExpression$instance extends CollectionResultExp
400
395
  readonly Type: Type;
401
396
  Print(expressionPrinter: ExpressionPrinter): void;
402
397
  Update(queryExpression: Expression): CollectionResultExpression;
398
+ VisitChildren(visitor: ExpressionVisitor): Expression;
403
399
  }
404
400
 
405
401
 
@@ -417,12 +413,8 @@ export interface CollectionResultExpression$instance extends IPrintableExpressio
417
413
  export type CollectionResultExpression = CollectionResultExpression$instance & __CollectionResultExpression$views;
418
414
 
419
415
 
420
- export abstract class CompiledQueryCacheKeyGenerator$protected {
421
- protected readonly Dependencies: CompiledQueryCacheKeyGeneratorDependencies;
422
- }
423
-
424
-
425
- export interface CompiledQueryCacheKeyGenerator$instance extends CompiledQueryCacheKeyGenerator$protected {
416
+ export interface CompiledQueryCacheKeyGenerator$instance {
417
+ readonly Dependencies: CompiledQueryCacheKeyGeneratorDependencies;
426
418
  GenerateCacheKey(query: Expression, async: boolean): unknown;
427
419
  }
428
420
 
@@ -460,20 +452,16 @@ export const CompiledQueryCacheKeyGeneratorDependencies: {
460
452
 
461
453
  export type CompiledQueryCacheKeyGeneratorDependencies = CompiledQueryCacheKeyGeneratorDependencies$instance;
462
454
 
463
- export abstract class EntityQueryRootExpression$protected {
464
- protected Print(expressionPrinter: ExpressionPrinter): void;
465
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
466
- }
467
-
468
-
469
- export interface EntityQueryRootExpression$instance extends EntityQueryRootExpression$protected, QueryRootExpression$instance {
455
+ export interface EntityQueryRootExpression$instance extends QueryRootExpression$instance {
470
456
  readonly CanReduce: boolean;
471
457
  readonly EntityType: IEntityType;
472
458
  readonly NodeType: ExpressionType;
473
459
  DetachQueryProvider(): Expression;
474
460
  Equals(obj: unknown): boolean;
475
461
  GetHashCode(): int;
462
+ Print(expressionPrinter: ExpressionPrinter): void;
476
463
  UpdateEntityType(entityType: IEntityType): EntityQueryRootExpression;
464
+ VisitChildren(visitor: ExpressionVisitor): Expression;
477
465
  }
478
466
 
479
467
 
@@ -490,12 +478,7 @@ export interface __EntityQueryRootExpression$views {
490
478
  export type EntityQueryRootExpression = EntityQueryRootExpression$instance & __EntityQueryRootExpression$views;
491
479
 
492
480
 
493
- export abstract class EnumerableExpression$protected {
494
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
495
- }
496
-
497
-
498
- export interface EnumerableExpression$instance extends EnumerableExpression$protected, Expression {
481
+ export interface EnumerableExpression$instance extends Expression {
499
482
  readonly IsDistinct: boolean;
500
483
  readonly NodeType: ExpressionType;
501
484
  readonly Orderings: IReadOnlyList<OrderingExpression>;
@@ -510,6 +493,7 @@ export interface EnumerableExpression$instance extends EnumerableExpression$prot
510
493
  GetHashCode(): int;
511
494
  Print(expressionPrinter: ExpressionPrinter): void;
512
495
  SetDistinct(value: boolean): EnumerableExpression;
496
+ VisitChildren(visitor: ExpressionVisitor): Expression;
513
497
  }
514
498
 
515
499
 
@@ -527,12 +511,8 @@ export interface EnumerableExpression$instance extends IPrintableExpression$inst
527
511
  export type EnumerableExpression = EnumerableExpression$instance & __EnumerableExpression$views;
528
512
 
529
513
 
530
- export abstract class EvaluatableExpressionFilter$protected {
531
- protected readonly Dependencies: EvaluatableExpressionFilterDependencies;
532
- }
533
-
534
-
535
- export interface EvaluatableExpressionFilter$instance extends EvaluatableExpressionFilter$protected {
514
+ export interface EvaluatableExpressionFilter$instance {
515
+ readonly Dependencies: EvaluatableExpressionFilterDependencies;
536
516
  IsEvaluatableExpression(expression: Expression, model: IModel): boolean;
537
517
  }
538
518
 
@@ -575,40 +555,13 @@ export interface ExpressionEqualityComparer$instance {
575
555
 
576
556
 
577
557
  export const ExpressionEqualityComparer: {
578
- new(): ExpressionEqualityComparer;
579
558
  readonly Instance: ExpressionEqualityComparer;
580
559
  };
581
560
 
582
561
 
583
562
  export type ExpressionEqualityComparer = ExpressionEqualityComparer$instance;
584
563
 
585
- export abstract class ExpressionPrinter$protected {
586
- protected VisitBinary(binaryExpression: BinaryExpression): Expression;
587
- protected VisitBlock(blockExpression: BlockExpression): Expression;
588
- protected VisitConditional(conditionalExpression: ConditionalExpression): Expression;
589
- protected VisitConstant(constantExpression: ConstantExpression): Expression;
590
- protected VisitDefault(defaultExpression: DefaultExpression): Expression;
591
- protected VisitExtension(extensionExpression: Expression): Expression;
592
- protected VisitGoto(gotoExpression: GotoExpression): Expression;
593
- protected VisitIndex(indexExpression: IndexExpression): Expression;
594
- protected VisitInvocation(invocationExpression: InvocationExpression): Expression;
595
- protected VisitLabel(labelExpression: LabelExpression): Expression;
596
- protected VisitLambda<T>(lambdaExpression: Expression<T>): Expression;
597
- protected VisitLoop(loopExpression: LoopExpression): Expression;
598
- protected VisitMember(memberExpression: MemberExpression): Expression;
599
- protected VisitMemberInit(memberInitExpression: MemberInitExpression): Expression;
600
- protected VisitMethodCall(methodCallExpression: MethodCallExpression): Expression;
601
- protected VisitNew(newExpression: NewExpression): Expression;
602
- protected VisitNewArray(newArrayExpression: NewArrayExpression): Expression;
603
- protected VisitParameter(parameterExpression: ParameterExpression): Expression;
604
- protected VisitSwitch(switchExpression: SwitchExpression): Expression;
605
- protected VisitTry(tryExpression: TryExpression): Expression;
606
- protected VisitTypeBinary(typeBinaryExpression: TypeBinaryExpression): Expression;
607
- protected VisitUnary(unaryExpression: UnaryExpression): Expression;
608
- }
609
-
610
-
611
- export interface ExpressionPrinter$instance extends ExpressionPrinter$protected, ExpressionVisitor {
564
+ export interface ExpressionPrinter$instance extends ExpressionVisitor {
612
565
  Append(value: string): ExpressionPrinter;
613
566
  AppendLine(): ExpressionPrinter;
614
567
  AppendLine(value: string): ExpressionPrinter;
@@ -619,7 +572,29 @@ export interface ExpressionPrinter$instance extends ExpressionPrinter$protected,
619
572
  PrintExpressionDebug(expression: Expression): string;
620
573
  ToString(): string;
621
574
  Visit(expression: Expression): Expression | undefined;
575
+ VisitBinary(binaryExpression: BinaryExpression): Expression;
576
+ VisitBlock(blockExpression: BlockExpression): Expression;
622
577
  VisitCollection<T extends Expression>(items: IReadOnlyCollection<T>, joinAction?: Action<ExpressionPrinter>): void;
578
+ VisitConditional(conditionalExpression: ConditionalExpression): Expression;
579
+ VisitConstant(constantExpression: ConstantExpression): Expression;
580
+ VisitDefault(defaultExpression: DefaultExpression): Expression;
581
+ VisitExtension(extensionExpression: Expression): Expression;
582
+ VisitGoto(gotoExpression: GotoExpression): Expression;
583
+ VisitIndex(indexExpression: IndexExpression): Expression;
584
+ VisitInvocation(invocationExpression: InvocationExpression): Expression;
585
+ VisitLabel(labelExpression: LabelExpression): Expression;
586
+ VisitLambda<T>(lambdaExpression: Expression<T>): Expression;
587
+ VisitLoop(loopExpression: LoopExpression): Expression;
588
+ VisitMember(memberExpression: MemberExpression): Expression;
589
+ VisitMemberInit(memberInitExpression: MemberInitExpression): Expression;
590
+ VisitMethodCall(methodCallExpression: MethodCallExpression): Expression;
591
+ VisitNew(newExpression: NewExpression): Expression;
592
+ VisitNewArray(newArrayExpression: NewArrayExpression): Expression;
593
+ VisitParameter(parameterExpression: ParameterExpression): Expression;
594
+ VisitSwitch(switchExpression: SwitchExpression): Expression;
595
+ VisitTry(tryExpression: TryExpression): Expression;
596
+ VisitTypeBinary(typeBinaryExpression: TypeBinaryExpression): Expression;
597
+ VisitUnary(unaryExpression: UnaryExpression): Expression;
623
598
  }
624
599
 
625
600
 
@@ -632,18 +607,14 @@ export const ExpressionPrinter: {
632
607
 
633
608
  export type ExpressionPrinter = ExpressionPrinter$instance;
634
609
 
635
- export abstract class GroupByShaperExpression$protected {
636
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
637
- }
638
-
639
-
640
- export interface GroupByShaperExpression$instance extends GroupByShaperExpression$protected, Expression {
610
+ export interface GroupByShaperExpression$instance extends Expression {
641
611
  readonly GroupingEnumerable: ShapedQueryExpression;
642
612
  readonly KeySelector: Expression;
643
613
  readonly NodeType: ExpressionType;
644
614
  readonly Type: Type;
645
615
  Print(expressionPrinter: ExpressionPrinter): void;
646
616
  Update(keySelector: Expression, groupingEnumerable: ShapedQueryExpression): GroupByShaperExpression;
617
+ VisitChildren(visitor: ExpressionVisitor): Expression;
647
618
  }
648
619
 
649
620
 
@@ -661,12 +632,7 @@ export interface GroupByShaperExpression$instance extends IPrintableExpression$i
661
632
  export type GroupByShaperExpression = GroupByShaperExpression$instance & __GroupByShaperExpression$views;
662
633
 
663
634
 
664
- export abstract class IncludeExpression$protected {
665
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
666
- }
667
-
668
-
669
- export interface IncludeExpression$instance extends IncludeExpression$protected, Expression {
635
+ export interface IncludeExpression$instance extends Expression {
670
636
  readonly EntityExpression: Expression;
671
637
  readonly Navigation: INavigationBase;
672
638
  readonly NavigationExpression: Expression;
@@ -674,6 +640,7 @@ export interface IncludeExpression$instance extends IncludeExpression$protected,
674
640
  readonly SetLoaded: boolean;
675
641
  readonly Type: Type;
676
642
  Update(entityExpression: Expression, navigationExpression: Expression): IncludeExpression;
643
+ VisitChildren(visitor: ExpressionVisitor): Expression;
677
644
  }
678
645
 
679
646
 
@@ -692,16 +659,12 @@ export interface IncludeExpression$instance extends IPrintableExpression$instanc
692
659
  export type IncludeExpression = IncludeExpression$instance & __IncludeExpression$views;
693
660
 
694
661
 
695
- export abstract class InlineQueryRootExpression$protected {
696
- protected Print(expressionPrinter: ExpressionPrinter): void;
697
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
698
- }
699
-
700
-
701
- export interface InlineQueryRootExpression$instance extends InlineQueryRootExpression$protected, QueryRootExpression$instance {
662
+ export interface InlineQueryRootExpression$instance extends QueryRootExpression$instance {
702
663
  readonly Values: IReadOnlyList<Expression>;
703
664
  DetachQueryProvider(): Expression;
665
+ Print(expressionPrinter: ExpressionPrinter): void;
704
666
  Update(values: IReadOnlyList<Expression>): InlineQueryRootExpression;
667
+ VisitChildren(visitor: ExpressionVisitor): Expression;
705
668
  }
706
669
 
707
670
 
@@ -718,12 +681,7 @@ export interface __InlineQueryRootExpression$views {
718
681
  export type InlineQueryRootExpression = InlineQueryRootExpression$instance & __InlineQueryRootExpression$views;
719
682
 
720
683
 
721
- export abstract class JsonQueryExpression$protected {
722
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
723
- }
724
-
725
-
726
- export interface JsonQueryExpression$instance extends JsonQueryExpression$protected, Expression {
684
+ export interface JsonQueryExpression$instance extends Expression {
727
685
  readonly IsCollection: boolean;
728
686
  readonly IsNullable: boolean;
729
687
  readonly JsonColumn: ColumnExpression;
@@ -740,6 +698,7 @@ export interface JsonQueryExpression$instance extends JsonQueryExpression$protec
740
698
  MakeNullable(): JsonQueryExpression;
741
699
  Print(expressionPrinter: ExpressionPrinter): void;
742
700
  Update(jsonColumn: ColumnExpression, keyPropertyMap: IReadOnlyDictionary<IProperty, ColumnExpression>): JsonQueryExpression;
701
+ VisitChildren(visitor: ExpressionVisitor): Expression;
743
702
  }
744
703
 
745
704
 
@@ -758,12 +717,7 @@ export interface JsonQueryExpression$instance extends IPrintableExpression$insta
758
717
  export type JsonQueryExpression = JsonQueryExpression$instance & __JsonQueryExpression$views;
759
718
 
760
719
 
761
- export abstract class LiftableConstantExpression$protected {
762
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
763
- }
764
-
765
-
766
- export interface LiftableConstantExpression$instance extends LiftableConstantExpression$protected, Expression {
720
+ export interface LiftableConstantExpression$instance extends Expression {
767
721
  readonly NodeType: ExpressionType;
768
722
  readonly OriginalExpression: ConstantExpression;
769
723
  readonly ResolverExpression: LambdaExpression;
@@ -771,6 +725,7 @@ export interface LiftableConstantExpression$instance extends LiftableConstantExp
771
725
  readonly VariableName: string;
772
726
  Print(expressionPrinter: ExpressionPrinter): void;
773
727
  Update(resolverExpression: LambdaExpression): LiftableConstantExpression;
728
+ VisitChildren(visitor: ExpressionVisitor): Expression;
774
729
  }
775
730
 
776
731
 
@@ -824,18 +779,14 @@ export interface LiftableConstantFactory$instance extends ILiftableConstantFacto
824
779
  export type LiftableConstantFactory = LiftableConstantFactory$instance & __LiftableConstantFactory$views;
825
780
 
826
781
 
827
- export abstract class LiftableConstantProcessor$protected {
828
- protected InlineConstant(liftableConstant: LiftableConstantExpression): ConstantExpression;
829
- protected LiftConstant(liftableConstant: LiftableConstantExpression): ParameterExpression;
830
- protected VisitBinary(binaryExpression: BinaryExpression): Expression;
831
- protected VisitExtension(node: Expression): Expression;
832
- }
833
-
834
-
835
- export interface LiftableConstantProcessor$instance extends LiftableConstantProcessor$protected, ExpressionVisitor {
782
+ export interface LiftableConstantProcessor$instance extends ExpressionVisitor {
836
783
  LiftedConstants: IReadOnlyList<ValueTuple<ParameterExpression, Expression>>;
784
+ InlineConstant(liftableConstant: LiftableConstantExpression): ConstantExpression;
837
785
  InlineConstants(expression: Expression, supportsPrecompiledQuery: boolean): Expression;
786
+ LiftConstant(liftableConstant: LiftableConstantExpression): ParameterExpression;
838
787
  LiftConstants(expression: Expression, contextParameter: ParameterExpression, variableNames: HashSet<System_Internal.String>): Expression;
788
+ VisitBinary(binaryExpression: BinaryExpression): Expression;
789
+ VisitExtension(node: Expression): Expression;
839
790
  }
840
791
 
841
792
 
@@ -851,17 +802,13 @@ export interface __LiftableConstantProcessor$views {
851
802
  export type LiftableConstantProcessor = LiftableConstantProcessor$instance & __LiftableConstantProcessor$views;
852
803
 
853
804
 
854
- export abstract class MaterializeCollectionNavigationExpression$protected {
855
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
856
- }
857
-
858
-
859
- export interface MaterializeCollectionNavigationExpression$instance extends MaterializeCollectionNavigationExpression$protected, Expression {
805
+ export interface MaterializeCollectionNavigationExpression$instance extends Expression {
860
806
  readonly Navigation: INavigationBase;
861
807
  readonly NodeType: ExpressionType;
862
808
  readonly Subquery: Expression;
863
809
  readonly Type: Type;
864
810
  Update(subquery: Expression): MaterializeCollectionNavigationExpression;
811
+ VisitChildren(visitor: ExpressionVisitor): Expression;
865
812
  }
866
813
 
867
814
 
@@ -879,37 +826,28 @@ export interface MaterializeCollectionNavigationExpression$instance extends IPri
879
826
  export type MaterializeCollectionNavigationExpression = MaterializeCollectionNavigationExpression$instance & __MaterializeCollectionNavigationExpression$views;
880
827
 
881
828
 
882
- export abstract class MaterializerLiftableConstantContext$protected {
883
- protected readonly EqualityContract: Type;
884
- protected PrintMembers(builder: StringBuilder): boolean;
885
- }
886
-
887
-
888
- export interface MaterializerLiftableConstantContext$instance extends MaterializerLiftableConstantContext$protected {
829
+ export interface MaterializerLiftableConstantContext$instance {
889
830
  Dependencies: ShapedQueryCompilingExpressionVisitorDependencies;
831
+ readonly EqualityContract: Type;
890
832
  _Clone_$(): MaterializerLiftableConstantContext;
891
833
  Deconstruct(Dependencies: ShapedQueryCompilingExpressionVisitorDependencies): void;
892
834
  Equals(obj: unknown): boolean;
893
835
  Equals(other: MaterializerLiftableConstantContext): boolean;
894
836
  GetHashCode(): int;
837
+ PrintMembers(builder: StringBuilder): boolean;
895
838
  ToString(): string;
896
839
  }
897
840
 
898
841
 
899
842
  export const MaterializerLiftableConstantContext: {
900
843
  new(Dependencies: ShapedQueryCompilingExpressionVisitorDependencies): MaterializerLiftableConstantContext;
901
- new(original: MaterializerLiftableConstantContext): MaterializerLiftableConstantContext;
902
844
  };
903
845
 
904
846
 
905
847
  export type MaterializerLiftableConstantContext = MaterializerLiftableConstantContext$instance;
906
848
 
907
- export abstract class NavigationExpansionExtensibilityHelper$protected {
908
- protected readonly Dependencies: NavigationExpansionExtensibilityHelperDependencies;
909
- }
910
-
911
-
912
- export interface NavigationExpansionExtensibilityHelper$instance extends NavigationExpansionExtensibilityHelper$protected {
849
+ export interface NavigationExpansionExtensibilityHelper$instance {
850
+ readonly Dependencies: NavigationExpansionExtensibilityHelperDependencies;
913
851
  AreQueryRootsCompatible(first: EntityQueryRootExpression, second: EntityQueryRootExpression): boolean;
914
852
  CreateQueryRoot(entityType: IEntityType, source: EntityQueryRootExpression): EntityQueryRootExpression;
915
853
  ValidateQueryRootCreation(entityType: IEntityType, source: EntityQueryRootExpression): void;
@@ -957,16 +895,12 @@ export const NotParameterizedAttribute: {
957
895
 
958
896
  export type NotParameterizedAttribute = NotParameterizedAttribute$instance;
959
897
 
960
- export abstract class ParameterQueryRootExpression$protected {
961
- protected Print(expressionPrinter: ExpressionPrinter): void;
962
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
963
- }
964
-
965
-
966
- export interface ParameterQueryRootExpression$instance extends ParameterQueryRootExpression$protected, QueryRootExpression$instance {
898
+ export interface ParameterQueryRootExpression$instance extends QueryRootExpression$instance {
967
899
  readonly ParameterExpression: ParameterExpression;
968
900
  readonly QueryParameterExpression: QueryParameterExpression;
969
901
  DetachQueryProvider(): Expression;
902
+ Print(expressionPrinter: ExpressionPrinter): void;
903
+ VisitChildren(visitor: ExpressionVisitor): Expression;
970
904
  }
971
905
 
972
906
 
@@ -999,12 +933,7 @@ export const ParametersCacheDecorator: {
999
933
 
1000
934
  export type ParametersCacheDecorator = ParametersCacheDecorator$instance;
1001
935
 
1002
- export abstract class ProjectionBindingExpression$protected {
1003
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
1004
- }
1005
-
1006
-
1007
- export interface ProjectionBindingExpression$instance extends ProjectionBindingExpression$protected, Expression {
936
+ export interface ProjectionBindingExpression$instance extends Expression {
1008
937
  readonly Index: Nullable<System_Internal.Int32>;
1009
938
  readonly NodeType: ExpressionType;
1010
939
  readonly ProjectionMember: ProjectionMember | undefined;
@@ -1012,6 +941,7 @@ export interface ProjectionBindingExpression$instance extends ProjectionBindingE
1012
941
  readonly Type: Type;
1013
942
  Equals(obj: unknown): boolean;
1014
943
  GetHashCode(): int;
944
+ VisitChildren(visitor: ExpressionVisitor): Expression;
1015
945
  }
1016
946
 
1017
947
 
@@ -1047,71 +977,66 @@ export const ProjectionMember: {
1047
977
 
1048
978
  export type ProjectionMember = ProjectionMember$instance;
1049
979
 
1050
- export abstract class QueryableMethodTranslatingExpressionVisitor$protected {
1051
- protected readonly Dependencies: QueryableMethodTranslatingExpressionVisitorDependencies;
1052
- protected readonly QueryCompilationContext: QueryCompilationContext;
1053
- protected AddTranslationErrorDetails(details: string): void;
1054
- protected abstract CreateShapedQueryExpression(entityType: IEntityType): ShapedQueryExpression | undefined;
1055
- protected abstract CreateSubqueryVisitor(): QueryableMethodTranslatingExpressionVisitor;
1056
- protected MarkShaperNullable(shaperExpression: Expression): Expression;
1057
- protected abstract TranslateAll(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1058
- protected abstract TranslateAny(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1059
- protected abstract TranslateAverage(source: ShapedQueryExpression, selector: LambdaExpression, resultType: Type): ShapedQueryExpression | undefined;
1060
- protected abstract TranslateCast(source: ShapedQueryExpression, castType: Type): ShapedQueryExpression | undefined;
1061
- protected abstract TranslateConcat(source1: ShapedQueryExpression, source2: ShapedQueryExpression): ShapedQueryExpression | undefined;
1062
- protected abstract TranslateContains(source: ShapedQueryExpression, item: Expression): ShapedQueryExpression | undefined;
1063
- protected abstract TranslateCount(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1064
- protected abstract TranslateDefaultIfEmpty(source: ShapedQueryExpression, defaultValue: Expression): ShapedQueryExpression | undefined;
1065
- protected abstract TranslateDistinct(source: ShapedQueryExpression): ShapedQueryExpression | undefined;
1066
- protected abstract TranslateElementAtOrDefault(source: ShapedQueryExpression, index: Expression, returnDefault: boolean): ShapedQueryExpression | undefined;
1067
- protected abstract TranslateExcept(source1: ShapedQueryExpression, source2: ShapedQueryExpression): ShapedQueryExpression | undefined;
1068
- protected TranslateExecuteDelete(source: ShapedQueryExpression): Expression | undefined;
1069
- protected TranslateExecuteUpdate(source: ShapedQueryExpression, setters: IReadOnlyList<QueryableMethodTranslatingExpressionVisitor_ExecuteUpdateSetter>): Expression | undefined;
1070
- protected abstract TranslateFirstOrDefault(source: ShapedQueryExpression, predicate: LambdaExpression, returnType: Type, returnDefault: boolean): ShapedQueryExpression | undefined;
1071
- protected abstract TranslateGroupBy(source: ShapedQueryExpression, keySelector: LambdaExpression, elementSelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1072
- protected abstract TranslateGroupJoin(outer: ShapedQueryExpression, inner: ShapedQueryExpression, outerKeySelector: LambdaExpression, innerKeySelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1073
- protected TranslateInlineQueryRoot(inlineQueryRootExpression: InlineQueryRootExpression): ShapedQueryExpression | undefined;
1074
- protected abstract TranslateIntersect(source1: ShapedQueryExpression, source2: ShapedQueryExpression): ShapedQueryExpression | undefined;
1075
- protected abstract TranslateJoin(outer: ShapedQueryExpression, inner: ShapedQueryExpression, outerKeySelector: LambdaExpression, innerKeySelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1076
- protected abstract TranslateLastOrDefault(source: ShapedQueryExpression, predicate: LambdaExpression, returnType: Type, returnDefault: boolean): ShapedQueryExpression | undefined;
1077
- protected abstract TranslateLeftJoin(outer: ShapedQueryExpression, inner: ShapedQueryExpression, outerKeySelector: LambdaExpression, innerKeySelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1078
- protected abstract TranslateLongCount(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1079
- protected abstract TranslateMax(source: ShapedQueryExpression, selector: LambdaExpression, resultType: Type): ShapedQueryExpression | undefined;
1080
- protected TranslateMemberAccess(source: Expression, member: MemberIdentity): ShapedQueryExpression | undefined;
1081
- protected abstract TranslateMin(source: ShapedQueryExpression, selector: LambdaExpression, resultType: Type): ShapedQueryExpression | undefined;
1082
- protected abstract TranslateOfType(source: ShapedQueryExpression, resultType: Type): ShapedQueryExpression | undefined;
1083
- protected abstract TranslateOrderBy(source: ShapedQueryExpression, keySelector: LambdaExpression, ascending: boolean): ShapedQueryExpression | undefined;
1084
- protected TranslateParameterQueryRoot(parameterQueryRootExpression: ParameterQueryRootExpression): ShapedQueryExpression | undefined;
1085
- protected abstract TranslateReverse(source: ShapedQueryExpression): ShapedQueryExpression | undefined;
1086
- protected abstract TranslateRightJoin(outer: ShapedQueryExpression, inner: ShapedQueryExpression, outerKeySelector: LambdaExpression, innerKeySelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1087
- protected abstract TranslateSelect(source: ShapedQueryExpression, selector: LambdaExpression): ShapedQueryExpression;
1088
- protected abstract TranslateSelectMany(source: ShapedQueryExpression, selector: LambdaExpression): ShapedQueryExpression | undefined;
1089
- protected abstract TranslateSelectMany(source: ShapedQueryExpression, collectionSelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1090
- protected abstract TranslateSingleOrDefault(source: ShapedQueryExpression, predicate: LambdaExpression, returnType: Type, returnDefault: boolean): ShapedQueryExpression | undefined;
1091
- protected abstract TranslateSkip(source: ShapedQueryExpression, count: Expression): ShapedQueryExpression | undefined;
1092
- protected abstract TranslateSkipWhile(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1093
- protected abstract TranslateSum(source: ShapedQueryExpression, selector: LambdaExpression, resultType: Type): ShapedQueryExpression | undefined;
1094
- protected abstract TranslateTake(source: ShapedQueryExpression, count: Expression): ShapedQueryExpression | undefined;
1095
- protected abstract TranslateTakeWhile(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1096
- protected abstract TranslateThenBy(source: ShapedQueryExpression, keySelector: LambdaExpression, ascending: boolean): ShapedQueryExpression | undefined;
1097
- protected abstract TranslateUnion(source1: ShapedQueryExpression, source2: ShapedQueryExpression): ShapedQueryExpression | undefined;
1098
- protected abstract TranslateWhere(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1099
- protected VisitExtension(extensionExpression: Expression): Expression;
1100
- protected VisitMember(memberExpression: MemberExpression): Expression;
1101
- protected VisitMethodCall(methodCallExpression: MethodCallExpression): Expression;
1102
- }
1103
-
1104
-
1105
- export interface QueryableMethodTranslatingExpressionVisitor$instance extends QueryableMethodTranslatingExpressionVisitor$protected, ExpressionVisitor {
980
+ export interface QueryableMethodTranslatingExpressionVisitor$instance extends ExpressionVisitor {
981
+ readonly Dependencies: QueryableMethodTranslatingExpressionVisitorDependencies;
982
+ readonly QueryCompilationContext: QueryCompilationContext;
1106
983
  get TranslationErrorDetails(): string | undefined;
1107
- set TranslationErrorDetails(value: string);
984
+ set TranslationErrorDetails(value: string | undefined);
985
+ AddTranslationErrorDetails(details: string): void;
986
+ CreateShapedQueryExpression(entityType: IEntityType): ShapedQueryExpression | undefined;
987
+ CreateSubqueryVisitor(): QueryableMethodTranslatingExpressionVisitor;
988
+ MarkShaperNullable(shaperExpression: Expression): Expression;
1108
989
  Translate(expression: Expression): Expression;
990
+ TranslateAll(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
991
+ TranslateAny(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
992
+ TranslateAverage(source: ShapedQueryExpression, selector: LambdaExpression, resultType: Type): ShapedQueryExpression | undefined;
993
+ TranslateCast(source: ShapedQueryExpression, castType: Type): ShapedQueryExpression | undefined;
994
+ TranslateConcat(source1: ShapedQueryExpression, source2: ShapedQueryExpression): ShapedQueryExpression | undefined;
995
+ TranslateContains(source: ShapedQueryExpression, item: Expression): ShapedQueryExpression | undefined;
996
+ TranslateCount(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
997
+ TranslateDefaultIfEmpty(source: ShapedQueryExpression, defaultValue: Expression): ShapedQueryExpression | undefined;
998
+ TranslateDistinct(source: ShapedQueryExpression): ShapedQueryExpression | undefined;
999
+ TranslateElementAtOrDefault(source: ShapedQueryExpression, index: Expression, returnDefault: boolean): ShapedQueryExpression | undefined;
1000
+ TranslateExcept(source1: ShapedQueryExpression, source2: ShapedQueryExpression): ShapedQueryExpression | undefined;
1001
+ TranslateExecuteDelete(source: ShapedQueryExpression): Expression | undefined;
1002
+ TranslateExecuteUpdate(source: ShapedQueryExpression, setters: IReadOnlyList<QueryableMethodTranslatingExpressionVisitor_ExecuteUpdateSetter>): Expression | undefined;
1003
+ TranslateFirstOrDefault(source: ShapedQueryExpression, predicate: LambdaExpression, returnType: Type, returnDefault: boolean): ShapedQueryExpression | undefined;
1004
+ TranslateGroupBy(source: ShapedQueryExpression, keySelector: LambdaExpression, elementSelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1005
+ TranslateGroupJoin(outer: ShapedQueryExpression, inner: ShapedQueryExpression, outerKeySelector: LambdaExpression, innerKeySelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1006
+ TranslateInlineQueryRoot(inlineQueryRootExpression: InlineQueryRootExpression): ShapedQueryExpression | undefined;
1007
+ TranslateIntersect(source1: ShapedQueryExpression, source2: ShapedQueryExpression): ShapedQueryExpression | undefined;
1008
+ TranslateJoin(outer: ShapedQueryExpression, inner: ShapedQueryExpression, outerKeySelector: LambdaExpression, innerKeySelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1009
+ TranslateLastOrDefault(source: ShapedQueryExpression, predicate: LambdaExpression, returnType: Type, returnDefault: boolean): ShapedQueryExpression | undefined;
1010
+ TranslateLeftJoin(outer: ShapedQueryExpression, inner: ShapedQueryExpression, outerKeySelector: LambdaExpression, innerKeySelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1011
+ TranslateLongCount(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1012
+ TranslateMax(source: ShapedQueryExpression, selector: LambdaExpression, resultType: Type): ShapedQueryExpression | undefined;
1013
+ TranslateMemberAccess(source: Expression, member: MemberIdentity): ShapedQueryExpression | undefined;
1014
+ TranslateMin(source: ShapedQueryExpression, selector: LambdaExpression, resultType: Type): ShapedQueryExpression | undefined;
1015
+ TranslateOfType(source: ShapedQueryExpression, resultType: Type): ShapedQueryExpression | undefined;
1016
+ TranslateOrderBy(source: ShapedQueryExpression, keySelector: LambdaExpression, ascending: boolean): ShapedQueryExpression | undefined;
1017
+ TranslateParameterQueryRoot(parameterQueryRootExpression: ParameterQueryRootExpression): ShapedQueryExpression | undefined;
1018
+ TranslateReverse(source: ShapedQueryExpression): ShapedQueryExpression | undefined;
1019
+ TranslateRightJoin(outer: ShapedQueryExpression, inner: ShapedQueryExpression, outerKeySelector: LambdaExpression, innerKeySelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1020
+ TranslateSelect(source: ShapedQueryExpression, selector: LambdaExpression): ShapedQueryExpression;
1021
+ TranslateSelectMany(source: ShapedQueryExpression, collectionSelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1022
+ TranslateSelectMany(source: ShapedQueryExpression, selector: LambdaExpression): ShapedQueryExpression | undefined;
1023
+ TranslateSingleOrDefault(source: ShapedQueryExpression, predicate: LambdaExpression, returnType: Type, returnDefault: boolean): ShapedQueryExpression | undefined;
1024
+ TranslateSkip(source: ShapedQueryExpression, count: Expression): ShapedQueryExpression | undefined;
1025
+ TranslateSkipWhile(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1109
1026
  TranslateSubquery(expression: Expression): ShapedQueryExpression | undefined;
1027
+ TranslateSum(source: ShapedQueryExpression, selector: LambdaExpression, resultType: Type): ShapedQueryExpression | undefined;
1028
+ TranslateTake(source: ShapedQueryExpression, count: Expression): ShapedQueryExpression | undefined;
1029
+ TranslateTakeWhile(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1030
+ TranslateThenBy(source: ShapedQueryExpression, keySelector: LambdaExpression, ascending: boolean): ShapedQueryExpression | undefined;
1031
+ TranslateUnion(source1: ShapedQueryExpression, source2: ShapedQueryExpression): ShapedQueryExpression | undefined;
1032
+ TranslateWhere(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1033
+ VisitExtension(extensionExpression: Expression): Expression;
1034
+ VisitMember(memberExpression: MemberExpression): Expression;
1035
+ VisitMethodCall(methodCallExpression: MethodCallExpression): Expression;
1110
1036
  }
1111
1037
 
1112
1038
 
1113
- export const QueryableMethodTranslatingExpressionVisitor: {
1114
- new(dependencies: QueryableMethodTranslatingExpressionVisitorDependencies, queryCompilationContext: QueryCompilationContext, subquery: boolean): QueryableMethodTranslatingExpressionVisitor;
1039
+ export const QueryableMethodTranslatingExpressionVisitor: (abstract new(dependencies: QueryableMethodTranslatingExpressionVisitorDependencies, queryCompilationContext: QueryCompilationContext, subquery: boolean) => QueryableMethodTranslatingExpressionVisitor) & {
1115
1040
  };
1116
1041
 
1117
1042
 
@@ -1152,17 +1077,13 @@ export const QueryableMethodTranslatingExpressionVisitorDependencies: {
1152
1077
 
1153
1078
  export type QueryableMethodTranslatingExpressionVisitorDependencies = QueryableMethodTranslatingExpressionVisitorDependencies$instance;
1154
1079
 
1155
- export abstract class QueryCompilationContext$protected {
1156
- protected readonly Dependencies: QueryCompilationContextDependencies;
1157
- }
1158
-
1159
-
1160
- export interface QueryCompilationContext$instance extends QueryCompilationContext$protected {
1080
+ export interface QueryCompilationContext$instance {
1161
1081
  readonly ContextOptions: IDbContextOptions;
1162
1082
  readonly ContextType: Type;
1083
+ readonly Dependencies: QueryCompilationContextDependencies;
1163
1084
  IgnoreAutoIncludes: boolean;
1164
1085
  get IgnoredQueryFilters(): HashSet<System_Internal.String> | undefined;
1165
- set IgnoredQueryFilters(value: HashSet<System_Internal.String>);
1086
+ set IgnoredQueryFilters(value: HashSet<System_Internal.String> | undefined);
1166
1087
  IgnoreQueryFilters: boolean;
1167
1088
  readonly IsAsync: boolean;
1168
1089
  readonly IsBuffering: boolean;
@@ -1219,16 +1140,12 @@ export const QueryCompilationContextDependencies: {
1219
1140
 
1220
1141
  export type QueryCompilationContextDependencies = QueryCompilationContextDependencies$instance;
1221
1142
 
1222
- export abstract class QueryContext$protected {
1223
- protected readonly Dependencies: QueryContextDependencies;
1224
- }
1225
-
1226
-
1227
- export interface QueryContext$instance extends QueryContext$protected {
1143
+ export interface QueryContext$instance {
1228
1144
  CancellationToken: CancellationToken;
1229
1145
  readonly CommandLogger: IDiagnosticsLogger_1<DbLoggerCategory_Database_Command> | IRelationalCommandDiagnosticsLogger;
1230
1146
  readonly ConcurrencyDetector: IConcurrencyDetector;
1231
1147
  readonly Context: DbContext;
1148
+ readonly Dependencies: QueryContextDependencies;
1232
1149
  readonly ExceptionDetector: IExceptionDetector;
1233
1150
  readonly ExecutionStrategy: IExecutionStrategy;
1234
1151
  readonly Parameters: Dictionary<System_Internal.String, unknown | undefined>;
@@ -1240,8 +1157,7 @@ export interface QueryContext$instance extends QueryContext$protected {
1240
1157
  }
1241
1158
 
1242
1159
 
1243
- export const QueryContext: {
1244
- new(dependencies: QueryContextDependencies): QueryContext;
1160
+ export const QueryContext: (abstract new(dependencies: QueryContextDependencies) => QueryContext) & {
1245
1161
  };
1246
1162
 
1247
1163
 
@@ -1270,12 +1186,7 @@ export const QueryContextDependencies: {
1270
1186
 
1271
1187
  export type QueryContextDependencies = QueryContextDependencies$instance;
1272
1188
 
1273
- export abstract class QueryParameterExpression$protected {
1274
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
1275
- }
1276
-
1277
-
1278
- export interface QueryParameterExpression$instance extends QueryParameterExpression$protected, Expression {
1189
+ export interface QueryParameterExpression$instance extends Expression {
1279
1190
  readonly IsNonNullableReferenceType: boolean;
1280
1191
  readonly Name: string;
1281
1192
  readonly NodeType: ExpressionType;
@@ -1284,6 +1195,7 @@ export interface QueryParameterExpression$instance extends QueryParameterExpress
1284
1195
  Equals(obj: unknown): boolean;
1285
1196
  GetHashCode(): int;
1286
1197
  Print(expressionPrinter: ExpressionPrinter): void;
1198
+ VisitChildren(visitor: ExpressionVisitor): Expression;
1287
1199
  }
1288
1200
 
1289
1201
 
@@ -1303,13 +1215,7 @@ export interface QueryParameterExpression$instance extends IPrintableExpression$
1303
1215
  export type QueryParameterExpression = QueryParameterExpression$instance & __QueryParameterExpression$views;
1304
1216
 
1305
1217
 
1306
- export abstract class QueryRootExpression$protected {
1307
- protected abstract Print(expressionPrinter: ExpressionPrinter): void;
1308
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
1309
- }
1310
-
1311
-
1312
- export interface QueryRootExpression$instance extends QueryRootExpression$protected, Expression {
1218
+ export interface QueryRootExpression$instance extends Expression {
1313
1219
  readonly CanReduce: boolean;
1314
1220
  readonly ElementType: Type;
1315
1221
  readonly NodeType: ExpressionType;
@@ -1318,12 +1224,12 @@ export interface QueryRootExpression$instance extends QueryRootExpression$protec
1318
1224
  DetachQueryProvider(): Expression;
1319
1225
  Equals(obj: unknown): boolean;
1320
1226
  GetHashCode(): int;
1227
+ Print(expressionPrinter: ExpressionPrinter): void;
1228
+ VisitChildren(visitor: ExpressionVisitor): Expression;
1321
1229
  }
1322
1230
 
1323
1231
 
1324
- export const QueryRootExpression: {
1325
- new(asyncQueryProvider: IAsyncQueryProvider, elementType: Type): QueryRootExpression;
1326
- new(elementType: Type): QueryRootExpression;
1232
+ export const QueryRootExpression: (abstract new(asyncQueryProvider: IAsyncQueryProvider, elementType: Type) => QueryRootExpression) & (abstract new(elementType: Type) => QueryRootExpression) & {
1327
1233
  };
1328
1234
 
1329
1235
 
@@ -1336,14 +1242,10 @@ export interface QueryRootExpression$instance extends IPrintableExpression$insta
1336
1242
  export type QueryRootExpression = QueryRootExpression$instance & __QueryRootExpression$views;
1337
1243
 
1338
1244
 
1339
- export abstract class QueryRootProcessor$protected {
1340
- protected ShouldConvertToInlineQueryRoot(expression: Expression): boolean;
1341
- protected ShouldConvertToParameterQueryRoot(queryParameterExpression: QueryParameterExpression): boolean;
1342
- protected VisitMethodCall(methodCallExpression: MethodCallExpression): Expression;
1343
- }
1344
-
1345
-
1346
- export interface QueryRootProcessor$instance extends QueryRootProcessor$protected, ExpressionVisitor {
1245
+ export interface QueryRootProcessor$instance extends ExpressionVisitor {
1246
+ ShouldConvertToInlineQueryRoot(expression: Expression): boolean;
1247
+ ShouldConvertToParameterQueryRoot(queryParameterExpression: QueryParameterExpression): boolean;
1248
+ VisitMethodCall(methodCallExpression: MethodCallExpression): Expression;
1347
1249
  }
1348
1250
 
1349
1251
 
@@ -1354,73 +1256,69 @@ export const QueryRootProcessor: {
1354
1256
 
1355
1257
  export type QueryRootProcessor = QueryRootProcessor$instance;
1356
1258
 
1357
- export abstract class QuerySqlGenerator$protected {
1358
- protected readonly AliasSeparator: string;
1359
- protected readonly Dependencies: QuerySqlGeneratorDependencies;
1360
- protected readonly Sql: IRelationalCommandBuilder;
1361
- protected CheckComposableSql(sql: string): void;
1362
- protected CheckComposableSqlTrimmed(sql: ReadOnlySpan<System_Internal.Char>): void;
1363
- protected GenerateEmptyProjection(selectExpression: SelectExpression): void;
1364
- protected GenerateExists(existsExpression: ExistsExpression, negated: boolean): void;
1365
- protected GenerateFrom(selectExpression: SelectExpression): void;
1366
- protected GenerateIn(inExpression: InExpression, negated: boolean): void;
1367
- protected GenerateLike(likeExpression: LikeExpression, negated: boolean): void;
1368
- protected GenerateLimitOffset(selectExpression: SelectExpression): void;
1369
- protected GenerateOrderings(selectExpression: SelectExpression): void;
1370
- protected GenerateProjection(selectExpression: SelectExpression): void;
1371
- protected GeneratePseudoFromClause(): void;
1372
- protected GenerateRootCommand(queryExpression: Expression): void;
1373
- protected GenerateSetOperation(setOperation: SetOperationBase): void;
1374
- protected GenerateSetOperationOperand(setOperation: SetOperationBase, operand: SelectExpression): void;
1375
- protected GenerateTagsHeaderComment(selectExpression: SelectExpression): void;
1376
- protected GenerateTagsHeaderComment(tags: ISet<System_Internal.String>): void;
1377
- protected GenerateTop(selectExpression: SelectExpression): void;
1378
- protected GenerateValues(valuesExpression: ValuesExpression): void;
1379
- protected GetOperator(binaryExpression: SqlBinaryExpression): string;
1380
- protected RequiresParentheses(outerExpression: SqlExpression, innerExpression: SqlExpression): boolean;
1381
- protected TryGenerateWithoutWrappingSelect(selectExpression: SelectExpression): boolean;
1382
- protected TryGetOperatorInfo(expression: SqlExpression, precedence: int, isAssociative: boolean): boolean;
1383
- protected VisitAtTimeZone(atTimeZoneExpression: AtTimeZoneExpression): Expression;
1384
- protected VisitCase(caseExpression: CaseExpression): Expression;
1385
- protected VisitCollate(collateExpression: CollateExpression): Expression;
1386
- protected VisitColumn(columnExpression: ColumnExpression): Expression;
1387
- protected VisitCrossApply(crossApplyExpression: CrossApplyExpression): Expression;
1388
- protected VisitCrossJoin(crossJoinExpression: CrossJoinExpression): Expression;
1389
- protected VisitDelete(deleteExpression: DeleteExpression): Expression;
1390
- protected VisitDistinct(distinctExpression: DistinctExpression): Expression;
1391
- protected VisitExcept(exceptExpression: ExceptExpression): Expression;
1392
- protected VisitExists(existsExpression: ExistsExpression): Expression;
1393
- protected VisitFromSql(fromSqlExpression: FromSqlExpression): Expression;
1394
- protected VisitIn(inExpression: InExpression): Expression;
1395
- protected VisitInnerJoin(innerJoinExpression: InnerJoinExpression): Expression;
1396
- protected VisitIntersect(intersectExpression: IntersectExpression): Expression;
1397
- protected VisitJsonScalar(jsonScalarExpression: JsonScalarExpression): Expression;
1398
- protected VisitLeftJoin(leftJoinExpression: LeftJoinExpression): Expression;
1399
- protected VisitLike(likeExpression: LikeExpression): Expression;
1400
- protected VisitOrdering(orderingExpression: OrderingExpression): Expression;
1401
- protected VisitOuterApply(outerApplyExpression: OuterApplyExpression): Expression;
1402
- protected VisitProjection(projectionExpression: ProjectionExpression): Expression;
1403
- protected VisitRightJoin(rightJoinExpression: RightJoinExpression): Expression;
1404
- protected VisitRowNumber(rowNumberExpression: RowNumberExpression): Expression;
1405
- protected VisitRowValue(rowValueExpression: RowValueExpression): Expression;
1406
- protected VisitScalarSubquery(scalarSubqueryExpression: ScalarSubqueryExpression): Expression;
1407
- protected VisitSelect(selectExpression: SelectExpression): Expression;
1408
- protected VisitSqlBinary(sqlBinaryExpression: SqlBinaryExpression): Expression;
1409
- protected VisitSqlConstant(sqlConstantExpression: SqlConstantExpression): Expression;
1410
- protected VisitSqlFragment(sqlFragmentExpression: SqlFragmentExpression): Expression;
1411
- protected VisitSqlFunction(sqlFunctionExpression: SqlFunctionExpression): Expression;
1412
- protected VisitSqlParameter(sqlParameterExpression: SqlParameterExpression): Expression;
1413
- protected VisitSqlUnary(sqlUnaryExpression: SqlUnaryExpression): Expression;
1414
- protected VisitTable(tableExpression: TableExpression): Expression;
1415
- protected VisitTableValuedFunction(tableValuedFunctionExpression: TableValuedFunctionExpression): Expression;
1416
- protected VisitUnion(unionExpression: UnionExpression): Expression;
1417
- protected VisitUpdate(updateExpression: UpdateExpression): Expression;
1418
- protected VisitValues(valuesExpression: ValuesExpression): Expression;
1419
- }
1420
-
1421
-
1422
- export interface QuerySqlGenerator$instance extends QuerySqlGenerator$protected, SqlExpressionVisitor {
1259
+ export interface QuerySqlGenerator$instance extends SqlExpressionVisitor {
1260
+ readonly AliasSeparator: string;
1261
+ readonly Dependencies: QuerySqlGeneratorDependencies;
1262
+ readonly Sql: IRelationalCommandBuilder;
1263
+ CheckComposableSql(sql: string): void;
1264
+ CheckComposableSqlTrimmed(sql: ReadOnlySpan<System_Internal.Char>): void;
1265
+ GenerateEmptyProjection(selectExpression: SelectExpression): void;
1266
+ GenerateExists(existsExpression: ExistsExpression, negated: boolean): void;
1267
+ GenerateFrom(selectExpression: SelectExpression): void;
1268
+ GenerateIn(inExpression: InExpression, negated: boolean): void;
1269
+ GenerateLike(likeExpression: LikeExpression, negated: boolean): void;
1270
+ GenerateLimitOffset(selectExpression: SelectExpression): void;
1271
+ GenerateOrderings(selectExpression: SelectExpression): void;
1272
+ GenerateProjection(selectExpression: SelectExpression): void;
1273
+ GeneratePseudoFromClause(): void;
1274
+ GenerateRootCommand(queryExpression: Expression): void;
1275
+ GenerateSetOperation(setOperation: SetOperationBase): void;
1276
+ GenerateSetOperationOperand(setOperation: SetOperationBase, operand: SelectExpression): void;
1277
+ GenerateTagsHeaderComment(selectExpression: SelectExpression): void;
1278
+ GenerateTagsHeaderComment(tags: ISet<System_Internal.String>): void;
1279
+ GenerateTop(selectExpression: SelectExpression): void;
1280
+ GenerateValues(valuesExpression: ValuesExpression): void;
1423
1281
  GetCommand(queryExpression: Expression): IRelationalCommand;
1282
+ GetOperator(binaryExpression: SqlBinaryExpression): string;
1283
+ RequiresParentheses(outerExpression: SqlExpression, innerExpression: SqlExpression): boolean;
1284
+ TryGenerateWithoutWrappingSelect(selectExpression: SelectExpression): boolean;
1285
+ TryGetOperatorInfo(expression: SqlExpression, precedence: int, isAssociative: boolean): boolean;
1286
+ VisitAtTimeZone(atTimeZoneExpression: AtTimeZoneExpression): Expression;
1287
+ VisitCase(caseExpression: CaseExpression): Expression;
1288
+ VisitCollate(collateExpression: CollateExpression): Expression;
1289
+ VisitColumn(columnExpression: ColumnExpression): Expression;
1290
+ VisitCrossApply(crossApplyExpression: CrossApplyExpression): Expression;
1291
+ VisitCrossJoin(crossJoinExpression: CrossJoinExpression): Expression;
1292
+ VisitDelete(deleteExpression: DeleteExpression): Expression;
1293
+ VisitDistinct(distinctExpression: DistinctExpression): Expression;
1294
+ VisitExcept(exceptExpression: ExceptExpression): Expression;
1295
+ VisitExists(existsExpression: ExistsExpression): Expression;
1296
+ VisitFromSql(fromSqlExpression: FromSqlExpression): Expression;
1297
+ VisitIn(inExpression: InExpression): Expression;
1298
+ VisitInnerJoin(innerJoinExpression: InnerJoinExpression): Expression;
1299
+ VisitIntersect(intersectExpression: IntersectExpression): Expression;
1300
+ VisitJsonScalar(jsonScalarExpression: JsonScalarExpression): Expression;
1301
+ VisitLeftJoin(leftJoinExpression: LeftJoinExpression): Expression;
1302
+ VisitLike(likeExpression: LikeExpression): Expression;
1303
+ VisitOrdering(orderingExpression: OrderingExpression): Expression;
1304
+ VisitOuterApply(outerApplyExpression: OuterApplyExpression): Expression;
1305
+ VisitProjection(projectionExpression: ProjectionExpression): Expression;
1306
+ VisitRightJoin(rightJoinExpression: RightJoinExpression): Expression;
1307
+ VisitRowNumber(rowNumberExpression: RowNumberExpression): Expression;
1308
+ VisitRowValue(rowValueExpression: RowValueExpression): Expression;
1309
+ VisitScalarSubquery(scalarSubqueryExpression: ScalarSubqueryExpression): Expression;
1310
+ VisitSelect(selectExpression: SelectExpression): Expression;
1311
+ VisitSqlBinary(sqlBinaryExpression: SqlBinaryExpression): Expression;
1312
+ VisitSqlConstant(sqlConstantExpression: SqlConstantExpression): Expression;
1313
+ VisitSqlFragment(sqlFragmentExpression: SqlFragmentExpression): Expression;
1314
+ VisitSqlFunction(sqlFunctionExpression: SqlFunctionExpression): Expression;
1315
+ VisitSqlParameter(sqlParameterExpression: SqlParameterExpression): Expression;
1316
+ VisitSqlUnary(sqlUnaryExpression: SqlUnaryExpression): Expression;
1317
+ VisitTable(tableExpression: TableExpression): Expression;
1318
+ VisitTableValuedFunction(tableValuedFunctionExpression: TableValuedFunctionExpression): Expression;
1319
+ VisitUnion(unionExpression: UnionExpression): Expression;
1320
+ VisitUpdate(updateExpression: UpdateExpression): Expression;
1321
+ VisitValues(valuesExpression: ValuesExpression): Expression;
1424
1322
  }
1425
1323
 
1426
1324
 
@@ -1449,13 +1347,9 @@ export const QuerySqlGeneratorDependencies: {
1449
1347
 
1450
1348
  export type QuerySqlGeneratorDependencies = QuerySqlGeneratorDependencies$instance;
1451
1349
 
1452
- export abstract class QueryTranslationPostprocessor$protected {
1453
- protected readonly Dependencies: QueryTranslationPostprocessorDependencies;
1454
- protected readonly QueryCompilationContext: QueryCompilationContext;
1455
- }
1456
-
1457
-
1458
- export interface QueryTranslationPostprocessor$instance extends QueryTranslationPostprocessor$protected {
1350
+ export interface QueryTranslationPostprocessor$instance {
1351
+ readonly Dependencies: QueryTranslationPostprocessorDependencies;
1352
+ readonly QueryCompilationContext: QueryCompilationContext;
1459
1353
  Process(query: Expression): Expression;
1460
1354
  }
1461
1355
 
@@ -1483,17 +1377,13 @@ export const QueryTranslationPostprocessorDependencies: {
1483
1377
 
1484
1378
  export type QueryTranslationPostprocessorDependencies = QueryTranslationPostprocessorDependencies$instance;
1485
1379
 
1486
- export abstract class QueryTranslationPreprocessor$protected {
1487
- protected readonly Dependencies: QueryTranslationPreprocessorDependencies;
1488
- protected readonly IsEfConstantSupported: boolean;
1489
- protected readonly QueryCompilationContext: QueryCompilationContext;
1490
- protected ProcessQueryRoots(expression: Expression): Expression;
1491
- }
1492
-
1493
-
1494
- export interface QueryTranslationPreprocessor$instance extends QueryTranslationPreprocessor$protected {
1380
+ export interface QueryTranslationPreprocessor$instance {
1381
+ readonly Dependencies: QueryTranslationPreprocessorDependencies;
1382
+ readonly IsEfConstantSupported: boolean;
1383
+ readonly QueryCompilationContext: QueryCompilationContext;
1495
1384
  NormalizeQueryableMethod(expression: Expression): Expression;
1496
1385
  Process(query: Expression): Expression;
1386
+ ProcessQueryRoots(expression: Expression): Expression;
1497
1387
  }
1498
1388
 
1499
1389
 
@@ -1523,13 +1413,9 @@ export const QueryTranslationPreprocessorDependencies: {
1523
1413
 
1524
1414
  export type QueryTranslationPreprocessorDependencies = QueryTranslationPreprocessorDependencies$instance;
1525
1415
 
1526
- export abstract class RelationalAggregateMethodCallTranslatorProvider$protected {
1527
- protected readonly Dependencies: RelationalAggregateMethodCallTranslatorProviderDependencies;
1528
- protected AddTranslators(translators: IEnumerable__System_Collections_Generic<IAggregateMethodCallTranslator>): void;
1529
- }
1530
-
1531
-
1532
- export interface RelationalAggregateMethodCallTranslatorProvider$instance extends RelationalAggregateMethodCallTranslatorProvider$protected {
1416
+ export interface RelationalAggregateMethodCallTranslatorProvider$instance {
1417
+ readonly Dependencies: RelationalAggregateMethodCallTranslatorProviderDependencies;
1418
+ AddTranslators(translators: IEnumerable__System_Collections_Generic<IAggregateMethodCallTranslator>): void;
1533
1419
  Translate(model: IModel, method: MethodInfo, source: EnumerableExpression, arguments: IReadOnlyList<SqlExpression>, logger: IDiagnosticsLogger_1<DbLoggerCategory_Query>): SqlExpression | undefined;
1534
1420
  }
1535
1421
 
@@ -1567,15 +1453,10 @@ export const RelationalAggregateMethodCallTranslatorProviderDependencies: {
1567
1453
 
1568
1454
  export type RelationalAggregateMethodCallTranslatorProviderDependencies = RelationalAggregateMethodCallTranslatorProviderDependencies$instance;
1569
1455
 
1570
- export abstract class RelationalCollectionShaperExpression$protected {
1571
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
1572
- }
1573
-
1574
-
1575
- export interface RelationalCollectionShaperExpression$instance extends RelationalCollectionShaperExpression$protected, Expression {
1456
+ export interface RelationalCollectionShaperExpression$instance extends Expression {
1576
1457
  readonly ElementType: Type;
1577
1458
  readonly InnerShaper: Expression;
1578
- readonly Navigation: INavigationBase;
1459
+ readonly Navigation: INavigationBase | undefined;
1579
1460
  readonly NodeType: ExpressionType;
1580
1461
  readonly OuterIdentifier: Expression;
1581
1462
  readonly OuterIdentifierValueComparers: IReadOnlyList<ValueComparer>;
@@ -1585,6 +1466,7 @@ export interface RelationalCollectionShaperExpression$instance extends Relationa
1585
1466
  readonly SelfIdentifierValueComparers: IReadOnlyList<ValueComparer>;
1586
1467
  readonly Type: Type;
1587
1468
  Update(parentIdentifier: Expression, outerIdentifier: Expression, selfIdentifier: Expression, innerShaper: Expression): RelationalCollectionShaperExpression;
1469
+ VisitChildren(visitor: ExpressionVisitor): Expression;
1588
1470
  }
1589
1471
 
1590
1472
 
@@ -1602,12 +1484,8 @@ export interface RelationalCollectionShaperExpression$instance extends IPrintabl
1602
1484
  export type RelationalCollectionShaperExpression = RelationalCollectionShaperExpression$instance & __RelationalCollectionShaperExpression$views;
1603
1485
 
1604
1486
 
1605
- export abstract class RelationalCompiledQueryCacheKeyGenerator$protected {
1606
- protected readonly RelationalDependencies: RelationalCompiledQueryCacheKeyGeneratorDependencies;
1607
- }
1608
-
1609
-
1610
- export interface RelationalCompiledQueryCacheKeyGenerator$instance extends RelationalCompiledQueryCacheKeyGenerator$protected, CompiledQueryCacheKeyGenerator$instance {
1487
+ export interface RelationalCompiledQueryCacheKeyGenerator$instance extends CompiledQueryCacheKeyGenerator$instance {
1488
+ readonly RelationalDependencies: RelationalCompiledQueryCacheKeyGeneratorDependencies;
1611
1489
  GenerateCacheKey(query: Expression, async: boolean): unknown;
1612
1490
  }
1613
1491
 
@@ -1641,12 +1519,8 @@ export const RelationalCompiledQueryCacheKeyGeneratorDependencies: {
1641
1519
 
1642
1520
  export type RelationalCompiledQueryCacheKeyGeneratorDependencies = RelationalCompiledQueryCacheKeyGeneratorDependencies$instance;
1643
1521
 
1644
- export abstract class RelationalEvaluatableExpressionFilter$protected {
1645
- protected readonly RelationalDependencies: RelationalEvaluatableExpressionFilterDependencies;
1646
- }
1647
-
1648
-
1649
- export interface RelationalEvaluatableExpressionFilter$instance extends RelationalEvaluatableExpressionFilter$protected, EvaluatableExpressionFilter$instance {
1522
+ export interface RelationalEvaluatableExpressionFilter$instance extends EvaluatableExpressionFilter$instance {
1523
+ readonly RelationalDependencies: RelationalEvaluatableExpressionFilterDependencies;
1650
1524
  IsEvaluatableExpression(expression: Expression, model: IModel): boolean;
1651
1525
  }
1652
1526
 
@@ -1679,12 +1553,7 @@ export const RelationalEvaluatableExpressionFilterDependencies: {
1679
1553
 
1680
1554
  export type RelationalEvaluatableExpressionFilterDependencies = RelationalEvaluatableExpressionFilterDependencies$instance;
1681
1555
 
1682
- export abstract class RelationalGroupByResultExpression$protected {
1683
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
1684
- }
1685
-
1686
-
1687
- export interface RelationalGroupByResultExpression$instance extends RelationalGroupByResultExpression$protected, Expression {
1556
+ export interface RelationalGroupByResultExpression$instance extends Expression {
1688
1557
  readonly ElementShaper: Expression;
1689
1558
  readonly KeyIdentifier: Expression;
1690
1559
  readonly KeyIdentifierValueComparers: IReadOnlyList<ValueComparer>;
@@ -1692,6 +1561,7 @@ export interface RelationalGroupByResultExpression$instance extends RelationalGr
1692
1561
  readonly NodeType: ExpressionType;
1693
1562
  readonly Type: Type;
1694
1563
  Update(keyIdentifier: Expression, keyShaper: Expression, elementShaper: Expression): RelationalGroupByResultExpression;
1564
+ VisitChildren(visitor: ExpressionVisitor): Expression;
1695
1565
  }
1696
1566
 
1697
1567
 
@@ -1709,14 +1579,10 @@ export interface RelationalGroupByResultExpression$instance extends IPrintableEx
1709
1579
  export type RelationalGroupByResultExpression = RelationalGroupByResultExpression$instance & __RelationalGroupByResultExpression$views;
1710
1580
 
1711
1581
 
1712
- export abstract class RelationalGroupByShaperExpression$protected {
1713
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
1714
- }
1715
-
1716
-
1717
- export interface RelationalGroupByShaperExpression$instance extends RelationalGroupByShaperExpression$protected, GroupByShaperExpression$instance {
1582
+ export interface RelationalGroupByShaperExpression$instance extends GroupByShaperExpression$instance {
1718
1583
  readonly ElementSelector: Expression;
1719
1584
  Print(expressionPrinter: ExpressionPrinter): void;
1585
+ VisitChildren(visitor: ExpressionVisitor): Expression;
1720
1586
  }
1721
1587
 
1722
1588
 
@@ -1767,12 +1633,8 @@ export interface __RelationalLiftableConstantFactory$views {
1767
1633
  export type RelationalLiftableConstantFactory = RelationalLiftableConstantFactory$instance & __RelationalLiftableConstantFactory$views;
1768
1634
 
1769
1635
 
1770
- export abstract class RelationalLiftableConstantProcessor$protected {
1771
- protected InlineConstant(liftableConstant: LiftableConstantExpression): ConstantExpression;
1772
- }
1773
-
1774
-
1775
- export interface RelationalLiftableConstantProcessor$instance extends RelationalLiftableConstantProcessor$protected, LiftableConstantProcessor$instance {
1636
+ export interface RelationalLiftableConstantProcessor$instance extends LiftableConstantProcessor$instance {
1637
+ InlineConstant(liftableConstant: LiftableConstantExpression): ConstantExpression;
1776
1638
  InlineConstants(expression: Expression, supportsPrecompiledQuery: boolean): Expression;
1777
1639
  LiftConstants(expression: Expression, contextParameter: ParameterExpression, variableNames: HashSet<System_Internal.String>): Expression;
1778
1640
  }
@@ -1790,14 +1652,9 @@ export interface __RelationalLiftableConstantProcessor$views {
1790
1652
  export type RelationalLiftableConstantProcessor = RelationalLiftableConstantProcessor$instance & __RelationalLiftableConstantProcessor$views;
1791
1653
 
1792
1654
 
1793
- export abstract class RelationalMaterializerLiftableConstantContext$protected {
1794
- protected readonly EqualityContract: Type;
1795
- protected PrintMembers(builder: StringBuilder): boolean;
1796
- }
1797
-
1798
-
1799
- export interface RelationalMaterializerLiftableConstantContext$instance extends RelationalMaterializerLiftableConstantContext$protected, MaterializerLiftableConstantContext {
1655
+ export interface RelationalMaterializerLiftableConstantContext$instance extends MaterializerLiftableConstantContext {
1800
1656
  CommandBuilderDependencies: RelationalCommandBuilderDependencies;
1657
+ readonly EqualityContract: Type;
1801
1658
  RelationalDependencies: RelationalShapedQueryCompilingExpressionVisitorDependencies;
1802
1659
  _Clone_$(): RelationalMaterializerLiftableConstantContext;
1803
1660
  _Clone_$(): MaterializerLiftableConstantContext;
@@ -1807,25 +1664,21 @@ export interface RelationalMaterializerLiftableConstantContext$instance extends
1807
1664
  Equals(other: MaterializerLiftableConstantContext): boolean;
1808
1665
  Equals(other: RelationalMaterializerLiftableConstantContext): boolean;
1809
1666
  GetHashCode(): int;
1667
+ PrintMembers(builder: StringBuilder): boolean;
1810
1668
  ToString(): string;
1811
1669
  }
1812
1670
 
1813
1671
 
1814
1672
  export const RelationalMaterializerLiftableConstantContext: {
1815
1673
  new(Dependencies: ShapedQueryCompilingExpressionVisitorDependencies, RelationalDependencies: RelationalShapedQueryCompilingExpressionVisitorDependencies, CommandBuilderDependencies: RelationalCommandBuilderDependencies): RelationalMaterializerLiftableConstantContext;
1816
- new(original: RelationalMaterializerLiftableConstantContext): RelationalMaterializerLiftableConstantContext;
1817
1674
  };
1818
1675
 
1819
1676
 
1820
1677
  export type RelationalMaterializerLiftableConstantContext = RelationalMaterializerLiftableConstantContext$instance;
1821
1678
 
1822
- export abstract class RelationalMemberTranslatorProvider$protected {
1823
- protected readonly Dependencies: RelationalMemberTranslatorProviderDependencies;
1824
- protected AddTranslators(translators: IEnumerable__System_Collections_Generic<IMemberTranslator>): void;
1825
- }
1826
-
1827
-
1828
- export interface RelationalMemberTranslatorProvider$instance extends RelationalMemberTranslatorProvider$protected {
1679
+ export interface RelationalMemberTranslatorProvider$instance {
1680
+ readonly Dependencies: RelationalMemberTranslatorProviderDependencies;
1681
+ AddTranslators(translators: IEnumerable__System_Collections_Generic<IMemberTranslator>): void;
1829
1682
  Translate(instance: SqlExpression, member: MemberInfo, returnType: Type, logger: IDiagnosticsLogger_1<DbLoggerCategory_Query>): SqlExpression | undefined;
1830
1683
  }
1831
1684
 
@@ -1862,13 +1715,9 @@ export const RelationalMemberTranslatorProviderDependencies: {
1862
1715
 
1863
1716
  export type RelationalMemberTranslatorProviderDependencies = RelationalMemberTranslatorProviderDependencies$instance;
1864
1717
 
1865
- export abstract class RelationalMethodCallTranslatorProvider$protected {
1866
- protected readonly Dependencies: RelationalMethodCallTranslatorProviderDependencies;
1867
- protected AddTranslators(translators: IEnumerable__System_Collections_Generic<IMethodCallTranslator>): void;
1868
- }
1869
-
1870
-
1871
- export interface RelationalMethodCallTranslatorProvider$instance extends RelationalMethodCallTranslatorProvider$protected {
1718
+ export interface RelationalMethodCallTranslatorProvider$instance {
1719
+ readonly Dependencies: RelationalMethodCallTranslatorProviderDependencies;
1720
+ AddTranslators(translators: IEnumerable__System_Collections_Generic<IMethodCallTranslator>): void;
1872
1721
  Translate(model: IModel, instance: SqlExpression, method: MethodInfo, arguments: IReadOnlyList<SqlExpression>, logger: IDiagnosticsLogger_1<DbLoggerCategory_Query>): SqlExpression | undefined;
1873
1722
  }
1874
1723
 
@@ -1906,18 +1755,14 @@ export const RelationalMethodCallTranslatorProviderDependencies: {
1906
1755
 
1907
1756
  export type RelationalMethodCallTranslatorProviderDependencies = RelationalMethodCallTranslatorProviderDependencies$instance;
1908
1757
 
1909
- export abstract class RelationalParameterBasedSqlProcessor$protected {
1910
- protected readonly Dependencies: RelationalParameterBasedSqlProcessorDependencies;
1911
- protected readonly Parameters: RelationalParameterBasedSqlProcessorParameters;
1912
- protected ExpandFromSqlParameter(queryExpression: Expression, Decorator: ParametersCacheDecorator): Expression;
1913
- protected ProcessSqlNullability(queryExpression: Expression, Decorator: ParametersCacheDecorator): Expression;
1914
- }
1915
-
1916
-
1917
- export interface RelationalParameterBasedSqlProcessor$instance extends RelationalParameterBasedSqlProcessor$protected {
1758
+ export interface RelationalParameterBasedSqlProcessor$instance {
1759
+ readonly Dependencies: RelationalParameterBasedSqlProcessorDependencies;
1760
+ readonly Parameters: RelationalParameterBasedSqlProcessorParameters;
1761
+ ExpandFromSqlParameter(queryExpression: Expression, Decorator: ParametersCacheDecorator): Expression;
1918
1762
  Optimize(queryExpression: Expression, parametersValues: IReadOnlyDictionary<System_Internal.String, unknown>, canCache: boolean): Expression;
1919
1763
  Process(queryExpression: Expression, parameters: Dictionary<System_Internal.String, unknown>, canCache: boolean): Expression;
1920
1764
  Process(queryExpression: Expression, parametersDecorator: ParametersCacheDecorator): Expression;
1765
+ ProcessSqlNullability(queryExpression: Expression, Decorator: ParametersCacheDecorator): Expression;
1921
1766
  }
1922
1767
 
1923
1768
 
@@ -1966,80 +1811,75 @@ export const RelationalParameterBasedSqlProcessorParameters: {
1966
1811
 
1967
1812
  export type RelationalParameterBasedSqlProcessorParameters = RelationalParameterBasedSqlProcessorParameters$instance;
1968
1813
 
1969
- export abstract class RelationalQueryableMethodTranslatingExpressionVisitor$protected {
1970
- protected readonly RelationalDependencies: RelationalQueryableMethodTranslatingExpressionVisitorDependencies;
1971
- protected CreateSelect(entityType: IEntityType): SelectExpression;
1972
- protected CreateSelect(jsonQueryExpression: JsonQueryExpression, tableExpressionBase: TableExpressionBase, identifierColumnName: string, identifierColumnType: Type, identifierColumnTypeMapping: RelationalTypeMapping): SelectExpression;
1973
- protected CreateShapedQueryExpression(entityType: IEntityType): ShapedQueryExpression;
1974
- protected CreateSubqueryVisitor(): QueryableMethodTranslatingExpressionVisitor;
1975
- protected GenerateJsonPartialUpdateSetter(target: Expression, value: SqlExpression, existingSetterValue: SqlExpression): SqlExpression | undefined;
1976
- protected IsNaturallyOrdered(selectExpression: SelectExpression): boolean;
1977
- protected IsOrdered(selectExpression: SelectExpression): boolean;
1978
- protected IsValidSelectExpressionForExecuteDelete(selectExpression: SelectExpression): boolean;
1979
- protected IsValidSelectExpressionForExecuteDelete(selectExpression: SelectExpression, shaper: StructuralTypeShaperExpression, tableExpression: TableExpression): boolean;
1980
- protected IsValidSelectExpressionForExecuteUpdate(selectExpression: SelectExpression, targetTable: TableExpressionBase, tableExpression: TableExpression): boolean;
1981
- protected TransformJsonQueryToTable(jsonQueryExpression: JsonQueryExpression): ShapedQueryExpression | undefined;
1982
- protected TranslateAll(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1983
- protected TranslateAny(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1984
- protected TranslateAverage(source: ShapedQueryExpression, selector: LambdaExpression, resultType: Type): ShapedQueryExpression | undefined;
1985
- protected TranslateCast(source: ShapedQueryExpression, resultType: Type): ShapedQueryExpression;
1986
- protected TranslateConcat(source1: ShapedQueryExpression, source2: ShapedQueryExpression): ShapedQueryExpression;
1987
- protected TranslateContains(source: ShapedQueryExpression, item: Expression): ShapedQueryExpression | undefined;
1988
- protected TranslateCount(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1989
- protected TranslateDefaultIfEmpty(source: ShapedQueryExpression, defaultValue: Expression): ShapedQueryExpression | undefined;
1990
- protected TranslateDistinct(source: ShapedQueryExpression): ShapedQueryExpression;
1991
- protected TranslateElementAtOrDefault(source: ShapedQueryExpression, index: Expression, returnDefault: boolean): ShapedQueryExpression | undefined;
1992
- protected TranslateExcept(source1: ShapedQueryExpression, source2: ShapedQueryExpression): ShapedQueryExpression;
1993
- protected TranslateExecuteDelete2(source: ShapedQueryExpression): DeleteExpression | undefined;
1994
- protected TranslateExecuteDelete(source: ShapedQueryExpression): Expression | undefined;
1995
- protected TranslateExecuteUpdate2(source: ShapedQueryExpression, setters: IReadOnlyList<QueryableMethodTranslatingExpressionVisitor_ExecuteUpdateSetter>): UpdateExpression | undefined;
1996
- protected TranslateExecuteUpdate(source: ShapedQueryExpression, setters: IReadOnlyList<QueryableMethodTranslatingExpressionVisitor_ExecuteUpdateSetter>): Expression | undefined;
1997
- protected TranslateExpression(expression: Expression, applyDefaultTypeMapping?: boolean): SqlExpression | undefined;
1998
- protected TranslateFirstOrDefault(source: ShapedQueryExpression, predicate: LambdaExpression, returnType: Type, returnDefault: boolean): ShapedQueryExpression | undefined;
1999
- protected TranslateGroupBy(source: ShapedQueryExpression, keySelector: LambdaExpression, elementSelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
2000
- protected TranslateGroupJoin(outer: ShapedQueryExpression, inner: ShapedQueryExpression, outerKeySelector: LambdaExpression, innerKeySelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
2001
- protected TranslateInlineQueryRoot(inlineQueryRootExpression: InlineQueryRootExpression): ShapedQueryExpression | undefined;
2002
- protected TranslateIntersect(source1: ShapedQueryExpression, source2: ShapedQueryExpression): ShapedQueryExpression;
2003
- protected TranslateJoin(outer: ShapedQueryExpression, inner: ShapedQueryExpression, outerKeySelector: LambdaExpression, innerKeySelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
2004
- protected TranslateLambdaExpression(shapedQueryExpression: ShapedQueryExpression, lambdaExpression: LambdaExpression): SqlExpression | undefined;
2005
- protected TranslateLastOrDefault(source: ShapedQueryExpression, predicate: LambdaExpression, returnType: Type, returnDefault: boolean): ShapedQueryExpression | undefined;
2006
- protected TranslateLeftJoin(outer: ShapedQueryExpression, inner: ShapedQueryExpression, outerKeySelector: LambdaExpression, innerKeySelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
2007
- protected TranslateLongCount(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
2008
- protected TranslateMax(source: ShapedQueryExpression, selector: LambdaExpression, resultType: Type): ShapedQueryExpression | undefined;
2009
- protected TranslateMemberAccess(source: Expression, member: MemberIdentity): ShapedQueryExpression | undefined;
2010
- protected TranslateMin(source: ShapedQueryExpression, selector: LambdaExpression, resultType: Type): ShapedQueryExpression | undefined;
2011
- protected TranslateOfType(source: ShapedQueryExpression, resultType: Type): ShapedQueryExpression | undefined;
2012
- protected TranslateOrderBy(source: ShapedQueryExpression, keySelector: LambdaExpression, ascending: boolean): ShapedQueryExpression | undefined;
2013
- protected TranslateParameterQueryRoot(parameterQueryRootExpression: ParameterQueryRootExpression): ShapedQueryExpression | undefined;
2014
- protected TranslatePrimitiveCollection(sqlExpression: SqlExpression, property: IProperty, tableAlias: string): ShapedQueryExpression | undefined;
2015
- protected TranslateReverse(source: ShapedQueryExpression): ShapedQueryExpression | undefined;
2016
- protected TranslateRightJoin(outer: ShapedQueryExpression, inner: ShapedQueryExpression, outerKeySelector: LambdaExpression, innerKeySelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
2017
- protected TranslateSelect(source: ShapedQueryExpression, selector: LambdaExpression): ShapedQueryExpression;
2018
- protected TranslateSelectMany(source: ShapedQueryExpression, selector: LambdaExpression): ShapedQueryExpression | undefined;
2019
- protected TranslateSelectMany(source: ShapedQueryExpression, collectionSelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
2020
- protected TranslateSingleOrDefault(source: ShapedQueryExpression, predicate: LambdaExpression, returnType: Type, returnDefault: boolean): ShapedQueryExpression | undefined;
2021
- protected TranslateSkip(source: ShapedQueryExpression, count: Expression): ShapedQueryExpression | undefined;
2022
- protected TranslateSkipWhile(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
2023
- protected TranslateSum(source: ShapedQueryExpression, selector: LambdaExpression, resultType: Type): ShapedQueryExpression | undefined;
2024
- protected TranslateTake(source: ShapedQueryExpression, count: Expression): ShapedQueryExpression | undefined;
2025
- protected TranslateTakeWhile(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
2026
- protected TranslateThenBy(source: ShapedQueryExpression, keySelector: LambdaExpression, ascending: boolean): ShapedQueryExpression | undefined;
2027
- protected TranslateUnion(source1: ShapedQueryExpression, source2: ShapedQueryExpression): ShapedQueryExpression;
2028
- protected TranslateWhere(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
2029
- protected TrySerializeScalarToJson(target: JsonScalarExpression, value: SqlExpression, jsonValue: SqlExpression): boolean;
2030
- protected TryTranslateSetters(source: ShapedQueryExpression, setters: IReadOnlyList<QueryableMethodTranslatingExpressionVisitor_ExecuteUpdateSetter>, columnSetters: IReadOnlyList<ColumnValueSetter>, targetTable: TableExpressionBase): boolean;
2031
- protected VisitExtension(extensionExpression: Expression): Expression;
2032
- protected VisitMethodCall(methodCallExpression: MethodCallExpression): Expression;
2033
- }
2034
-
2035
-
2036
- export interface RelationalQueryableMethodTranslatingExpressionVisitor$instance extends RelationalQueryableMethodTranslatingExpressionVisitor$protected, QueryableMethodTranslatingExpressionVisitor {
1814
+ export interface RelationalQueryableMethodTranslatingExpressionVisitor$instance extends QueryableMethodTranslatingExpressionVisitor {
1815
+ readonly RelationalDependencies: RelationalQueryableMethodTranslatingExpressionVisitorDependencies;
1816
+ CreateSelect(entityType: IEntityType): SelectExpression;
1817
+ CreateSelect(jsonQueryExpression: JsonQueryExpression, tableExpressionBase: TableExpressionBase, identifierColumnName: string, identifierColumnType: Type, identifierColumnTypeMapping: RelationalTypeMapping): SelectExpression;
1818
+ CreateShapedQueryExpression(entityType: IEntityType): ShapedQueryExpression;
1819
+ CreateSubqueryVisitor(): QueryableMethodTranslatingExpressionVisitor;
1820
+ GenerateJsonPartialUpdateSetter(target: Expression, value: SqlExpression, existingSetterValue: SqlExpression): SqlExpression | undefined;
1821
+ IsNaturallyOrdered(selectExpression: SelectExpression): boolean;
1822
+ IsOrdered(selectExpression: SelectExpression): boolean;
1823
+ IsValidSelectExpressionForExecuteDelete(selectExpression: SelectExpression): boolean;
1824
+ IsValidSelectExpressionForExecuteDelete(selectExpression: SelectExpression, shaper: StructuralTypeShaperExpression, tableExpression: TableExpression): boolean;
1825
+ IsValidSelectExpressionForExecuteUpdate(selectExpression: SelectExpression, targetTable: TableExpressionBase, tableExpression: TableExpression): boolean;
1826
+ TransformJsonQueryToTable(jsonQueryExpression: JsonQueryExpression): ShapedQueryExpression | undefined;
1827
+ TranslateAll(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1828
+ TranslateAny(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1829
+ TranslateAverage(source: ShapedQueryExpression, selector: LambdaExpression, resultType: Type): ShapedQueryExpression | undefined;
1830
+ TranslateCast(source: ShapedQueryExpression, resultType: Type): ShapedQueryExpression;
1831
+ TranslateConcat(source1: ShapedQueryExpression, source2: ShapedQueryExpression): ShapedQueryExpression;
1832
+ TranslateContains(source: ShapedQueryExpression, item: Expression): ShapedQueryExpression | undefined;
1833
+ TranslateCount(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1834
+ TranslateDefaultIfEmpty(source: ShapedQueryExpression, defaultValue: Expression): ShapedQueryExpression | undefined;
1835
+ TranslateDistinct(source: ShapedQueryExpression): ShapedQueryExpression;
1836
+ TranslateElementAtOrDefault(source: ShapedQueryExpression, index: Expression, returnDefault: boolean): ShapedQueryExpression | undefined;
1837
+ TranslateExcept(source1: ShapedQueryExpression, source2: ShapedQueryExpression): ShapedQueryExpression;
1838
+ TranslateExecuteDelete(source: ShapedQueryExpression): DeleteExpression | undefined;
1839
+ TranslateExecuteDelete(source: ShapedQueryExpression): Expression | undefined;
1840
+ TranslateExecuteUpdate(source: ShapedQueryExpression, setters: IReadOnlyList<QueryableMethodTranslatingExpressionVisitor_ExecuteUpdateSetter>): UpdateExpression | undefined;
1841
+ TranslateExecuteUpdate(source: ShapedQueryExpression, setters: IReadOnlyList<QueryableMethodTranslatingExpressionVisitor_ExecuteUpdateSetter>): Expression | undefined;
1842
+ TranslateExpression(expression: Expression, applyDefaultTypeMapping?: boolean): SqlExpression | undefined;
1843
+ TranslateFirstOrDefault(source: ShapedQueryExpression, predicate: LambdaExpression, returnType: Type, returnDefault: boolean): ShapedQueryExpression | undefined;
1844
+ TranslateGroupBy(source: ShapedQueryExpression, keySelector: LambdaExpression, elementSelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1845
+ TranslateGroupJoin(outer: ShapedQueryExpression, inner: ShapedQueryExpression, outerKeySelector: LambdaExpression, innerKeySelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1846
+ TranslateInlineQueryRoot(inlineQueryRootExpression: InlineQueryRootExpression): ShapedQueryExpression | undefined;
1847
+ TranslateIntersect(source1: ShapedQueryExpression, source2: ShapedQueryExpression): ShapedQueryExpression;
1848
+ TranslateJoin(outer: ShapedQueryExpression, inner: ShapedQueryExpression, outerKeySelector: LambdaExpression, innerKeySelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1849
+ TranslateLambdaExpression(shapedQueryExpression: ShapedQueryExpression, lambdaExpression: LambdaExpression): SqlExpression | undefined;
1850
+ TranslateLastOrDefault(source: ShapedQueryExpression, predicate: LambdaExpression, returnType: Type, returnDefault: boolean): ShapedQueryExpression | undefined;
1851
+ TranslateLeftJoin(outer: ShapedQueryExpression, inner: ShapedQueryExpression, outerKeySelector: LambdaExpression, innerKeySelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1852
+ TranslateLongCount(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1853
+ TranslateMax(source: ShapedQueryExpression, selector: LambdaExpression, resultType: Type): ShapedQueryExpression | undefined;
1854
+ TranslateMemberAccess(source: Expression, member: MemberIdentity): ShapedQueryExpression | undefined;
1855
+ TranslateMin(source: ShapedQueryExpression, selector: LambdaExpression, resultType: Type): ShapedQueryExpression | undefined;
1856
+ TranslateOfType(source: ShapedQueryExpression, resultType: Type): ShapedQueryExpression | undefined;
1857
+ TranslateOrderBy(source: ShapedQueryExpression, keySelector: LambdaExpression, ascending: boolean): ShapedQueryExpression | undefined;
1858
+ TranslateParameterQueryRoot(parameterQueryRootExpression: ParameterQueryRootExpression): ShapedQueryExpression | undefined;
1859
+ TranslatePrimitiveCollection(sqlExpression: SqlExpression, property: IProperty, tableAlias: string): ShapedQueryExpression | undefined;
1860
+ TranslateReverse(source: ShapedQueryExpression): ShapedQueryExpression | undefined;
1861
+ TranslateRightJoin(outer: ShapedQueryExpression, inner: ShapedQueryExpression, outerKeySelector: LambdaExpression, innerKeySelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1862
+ TranslateSelect(source: ShapedQueryExpression, selector: LambdaExpression): ShapedQueryExpression;
1863
+ TranslateSelectMany(source: ShapedQueryExpression, collectionSelector: LambdaExpression, resultSelector: LambdaExpression): ShapedQueryExpression | undefined;
1864
+ TranslateSelectMany(source: ShapedQueryExpression, selector: LambdaExpression): ShapedQueryExpression | undefined;
1865
+ TranslateSingleOrDefault(source: ShapedQueryExpression, predicate: LambdaExpression, returnType: Type, returnDefault: boolean): ShapedQueryExpression | undefined;
1866
+ TranslateSkip(source: ShapedQueryExpression, count: Expression): ShapedQueryExpression | undefined;
1867
+ TranslateSkipWhile(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1868
+ TranslateSum(source: ShapedQueryExpression, selector: LambdaExpression, resultType: Type): ShapedQueryExpression | undefined;
1869
+ TranslateTake(source: ShapedQueryExpression, count: Expression): ShapedQueryExpression | undefined;
1870
+ TranslateTakeWhile(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1871
+ TranslateThenBy(source: ShapedQueryExpression, keySelector: LambdaExpression, ascending: boolean): ShapedQueryExpression | undefined;
1872
+ TranslateUnion(source1: ShapedQueryExpression, source2: ShapedQueryExpression): ShapedQueryExpression;
1873
+ TranslateWhere(source: ShapedQueryExpression, predicate: LambdaExpression): ShapedQueryExpression | undefined;
1874
+ TrySerializeScalarToJson(target: JsonScalarExpression, value: SqlExpression, jsonValue: SqlExpression): boolean;
1875
+ TryTranslateSetters(source: ShapedQueryExpression, setters: IReadOnlyList<QueryableMethodTranslatingExpressionVisitor_ExecuteUpdateSetter>, columnSetters: IReadOnlyList<ColumnValueSetter>, targetTable: TableExpressionBase): boolean;
1876
+ VisitExtension(extensionExpression: Expression): Expression;
1877
+ VisitMethodCall(methodCallExpression: MethodCallExpression): Expression;
2037
1878
  }
2038
1879
 
2039
1880
 
2040
1881
  export const RelationalQueryableMethodTranslatingExpressionVisitor: {
2041
1882
  new(dependencies: QueryableMethodTranslatingExpressionVisitorDependencies, relationalDependencies: RelationalQueryableMethodTranslatingExpressionVisitorDependencies, queryCompilationContext: RelationalQueryCompilationContext): RelationalQueryableMethodTranslatingExpressionVisitor;
2042
- new(parentVisitor: RelationalQueryableMethodTranslatingExpressionVisitor): RelationalQueryableMethodTranslatingExpressionVisitor;
2043
1883
  readonly ValuesOrderingColumnName: string;
2044
1884
  readonly ValuesValueColumnName: string;
2045
1885
  };
@@ -2067,13 +1907,9 @@ export const RelationalQueryableMethodTranslatingExpressionVisitorDependencies:
2067
1907
 
2068
1908
  export type RelationalQueryableMethodTranslatingExpressionVisitorDependencies = RelationalQueryableMethodTranslatingExpressionVisitorDependencies$instance;
2069
1909
 
2070
- export abstract class RelationalQueryCompilationContext$protected {
2071
- protected readonly RelationalDependencies: RelationalQueryCompilationContextDependencies;
2072
- }
2073
-
2074
-
2075
- export interface RelationalQueryCompilationContext$instance extends RelationalQueryCompilationContext$protected, QueryCompilationContext {
1910
+ export interface RelationalQueryCompilationContext$instance extends QueryCompilationContext {
2076
1911
  QuerySplittingBehavior: Nullable<QuerySplittingBehavior>;
1912
+ readonly RelationalDependencies: RelationalQueryCompilationContextDependencies;
2077
1913
  readonly SqlAliasManager: SqlAliasManager;
2078
1914
  }
2079
1915
 
@@ -2103,14 +1939,10 @@ export const RelationalQueryCompilationContextDependencies: {
2103
1939
 
2104
1940
  export type RelationalQueryCompilationContextDependencies = RelationalQueryCompilationContextDependencies$instance;
2105
1941
 
2106
- export abstract class RelationalQueryContext$protected {
2107
- protected readonly RelationalDependencies: RelationalQueryContextDependencies;
2108
- }
2109
-
2110
-
2111
- export interface RelationalQueryContext$instance extends RelationalQueryContext$protected, QueryContext {
1942
+ export interface RelationalQueryContext$instance extends QueryContext {
2112
1943
  readonly CommandLogger: IDiagnosticsLogger_1<DbLoggerCategory_Database_Command> | IRelationalCommandDiagnosticsLogger;
2113
1944
  readonly Connection: IRelationalConnection;
1945
+ readonly RelationalDependencies: RelationalQueryContextDependencies;
2114
1946
  readonly RelationalQueryStringFactory: IRelationalQueryStringFactory;
2115
1947
  }
2116
1948
 
@@ -2140,15 +1972,11 @@ export const RelationalQueryContextDependencies: {
2140
1972
 
2141
1973
  export type RelationalQueryContextDependencies = RelationalQueryContextDependencies$instance;
2142
1974
 
2143
- export abstract class RelationalQueryRootProcessor$protected {
2144
- protected ShouldConvertToInlineQueryRoot(expression: Expression): boolean;
2145
- protected ShouldConvertToParameterQueryRoot(queryParameterExpression: QueryParameterExpression): boolean;
2146
- protected VisitExtension(node: Expression): Expression;
2147
- protected VisitMethodCall(methodCallExpression: MethodCallExpression): Expression;
2148
- }
2149
-
2150
-
2151
- export interface RelationalQueryRootProcessor$instance extends RelationalQueryRootProcessor$protected, QueryRootProcessor {
1975
+ export interface RelationalQueryRootProcessor$instance extends QueryRootProcessor {
1976
+ ShouldConvertToInlineQueryRoot(expression: Expression): boolean;
1977
+ ShouldConvertToParameterQueryRoot(queryParameterExpression: QueryParameterExpression): boolean;
1978
+ VisitExtension(node: Expression): Expression;
1979
+ VisitMethodCall(methodCallExpression: MethodCallExpression): Expression;
2152
1980
  }
2153
1981
 
2154
1982
 
@@ -2159,16 +1987,12 @@ export const RelationalQueryRootProcessor: {
2159
1987
 
2160
1988
  export type RelationalQueryRootProcessor = RelationalQueryRootProcessor$instance;
2161
1989
 
2162
- export abstract class RelationalQueryTranslationPostprocessor$protected {
2163
- protected readonly RelationalDependencies: RelationalQueryTranslationPostprocessorDependencies;
2164
- protected readonly RelationalQueryCompilationContext: RelationalQueryCompilationContext;
2165
- protected ProcessTypeMappings(expression: Expression): Expression;
2166
- protected Prune(query: Expression): Expression;
2167
- }
2168
-
2169
-
2170
- export interface RelationalQueryTranslationPostprocessor$instance extends RelationalQueryTranslationPostprocessor$protected, QueryTranslationPostprocessor {
1990
+ export interface RelationalQueryTranslationPostprocessor$instance extends QueryTranslationPostprocessor {
1991
+ readonly RelationalDependencies: RelationalQueryTranslationPostprocessorDependencies;
1992
+ readonly RelationalQueryCompilationContext: RelationalQueryCompilationContext;
2171
1993
  Process(query: Expression): Expression;
1994
+ ProcessTypeMappings(expression: Expression): Expression;
1995
+ Prune(query: Expression): Expression;
2172
1996
  }
2173
1997
 
2174
1998
 
@@ -2197,15 +2021,11 @@ export const RelationalQueryTranslationPostprocessorDependencies: {
2197
2021
 
2198
2022
  export type RelationalQueryTranslationPostprocessorDependencies = RelationalQueryTranslationPostprocessorDependencies$instance;
2199
2023
 
2200
- export abstract class RelationalQueryTranslationPreprocessor$protected {
2201
- protected readonly IsEfConstantSupported: boolean;
2202
- protected readonly RelationalDependencies: RelationalQueryTranslationPreprocessorDependencies;
2203
- protected ProcessQueryRoots(expression: Expression): Expression;
2204
- }
2205
-
2206
-
2207
- export interface RelationalQueryTranslationPreprocessor$instance extends RelationalQueryTranslationPreprocessor$protected, QueryTranslationPreprocessor {
2024
+ export interface RelationalQueryTranslationPreprocessor$instance extends QueryTranslationPreprocessor {
2025
+ readonly IsEfConstantSupported: boolean;
2026
+ readonly RelationalDependencies: RelationalQueryTranslationPreprocessorDependencies;
2208
2027
  NormalizeQueryableMethod(expression: Expression): Expression;
2028
+ ProcessQueryRoots(expression: Expression): Expression;
2209
2029
  }
2210
2030
 
2211
2031
 
@@ -2233,17 +2053,13 @@ export const RelationalQueryTranslationPreprocessorDependencies: {
2233
2053
 
2234
2054
  export type RelationalQueryTranslationPreprocessorDependencies = RelationalQueryTranslationPreprocessorDependencies$instance;
2235
2055
 
2236
- export abstract class RelationalShapedQueryCompilingExpressionVisitor$protected {
2237
- protected readonly MaxNullableParametersForPregeneratedSql: int;
2238
- protected readonly RelationalDependencies: RelationalShapedQueryCompilingExpressionVisitorDependencies;
2239
- protected VisitExtension(extensionExpression: Expression): Expression;
2240
- protected VisitShapedQuery(shapedQueryExpression: ShapedQueryExpression): Expression;
2241
- }
2242
-
2243
-
2244
- export interface RelationalShapedQueryCompilingExpressionVisitor$instance extends RelationalShapedQueryCompilingExpressionVisitor$protected, ShapedQueryCompilingExpressionVisitor {
2056
+ export interface RelationalShapedQueryCompilingExpressionVisitor$instance extends ShapedQueryCompilingExpressionVisitor {
2057
+ readonly MaxNullableParametersForPregeneratedSql: int;
2058
+ readonly RelationalDependencies: RelationalShapedQueryCompilingExpressionVisitorDependencies;
2245
2059
  AddStructuralTypeInitialization(shaper: StructuralTypeShaperExpression, instanceVariable: ParameterExpression, variables: List<ParameterExpression>, expressions: List<Expression>): void;
2246
2060
  AddStructuralTypeInitialization(shaper: StructuralTypeShaperExpression, instanceVariable: ParameterExpression, variables: List<ParameterExpression>, expressions: List<Expression>): void;
2061
+ VisitExtension(extensionExpression: Expression): Expression;
2062
+ VisitShapedQuery(shapedQueryExpression: ShapedQueryExpression): Expression;
2247
2063
  }
2248
2064
 
2249
2065
 
@@ -2256,16 +2072,12 @@ export const RelationalShapedQueryCompilingExpressionVisitor: {
2256
2072
 
2257
2073
  export type RelationalShapedQueryCompilingExpressionVisitor = RelationalShapedQueryCompilingExpressionVisitor$instance;
2258
2074
 
2259
- export abstract class RelationalShapedQueryCompilingExpressionVisitor_ShaperProcessingExpressionVisitor$protected {
2260
- protected VisitBinary(binaryExpression: BinaryExpression): Expression;
2261
- protected VisitExtension(extensionExpression: Expression): Expression;
2262
- protected VisitMethodCall(methodCallExpression: MethodCallExpression): Expression;
2263
- }
2264
-
2265
-
2266
- export interface RelationalShapedQueryCompilingExpressionVisitor_ShaperProcessingExpressionVisitor$instance extends RelationalShapedQueryCompilingExpressionVisitor_ShaperProcessingExpressionVisitor$protected, ExpressionVisitor {
2075
+ export interface RelationalShapedQueryCompilingExpressionVisitor_ShaperProcessingExpressionVisitor$instance extends ExpressionVisitor {
2267
2076
  ProcessRelationalGroupingResult(relationalGroupByResultExpression: RelationalGroupByResultExpression, relationalCommandResolver: Expression, readerColumns: IReadOnlyList<ReaderColumn>, keySelector: LambdaExpression, keyIdentifier: LambdaExpression, relatedDataLoaders: LambdaExpression, collectionId: int): LambdaExpression;
2268
2077
  ProcessShaper(shaperExpression: Expression, relationalCommandResolver: Expression, readerColumns: IReadOnlyList<ReaderColumn>, relatedDataLoaders: LambdaExpression, collectionId: int): LambdaExpression;
2078
+ VisitBinary(binaryExpression: BinaryExpression): Expression;
2079
+ VisitExtension(extensionExpression: Expression): Expression;
2080
+ VisitMethodCall(methodCallExpression: MethodCallExpression): Expression;
2269
2081
  }
2270
2082
 
2271
2083
 
@@ -2316,22 +2128,18 @@ export const RelationalShapedQueryCompilingExpressionVisitorDependencies: {
2316
2128
 
2317
2129
  export type RelationalShapedQueryCompilingExpressionVisitorDependencies = RelationalShapedQueryCompilingExpressionVisitorDependencies$instance;
2318
2130
 
2319
- export abstract class RelationalSplitCollectionShaperExpression$protected {
2320
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
2321
- }
2322
-
2323
-
2324
- export interface RelationalSplitCollectionShaperExpression$instance extends RelationalSplitCollectionShaperExpression$protected, Expression {
2131
+ export interface RelationalSplitCollectionShaperExpression$instance extends Expression {
2325
2132
  readonly ChildIdentifier: Expression;
2326
2133
  readonly ElementType: Type;
2327
2134
  readonly IdentifierValueComparers: IReadOnlyList<ValueComparer>;
2328
2135
  readonly InnerShaper: Expression;
2329
- readonly Navigation: INavigationBase;
2136
+ readonly Navigation: INavigationBase | undefined;
2330
2137
  readonly NodeType: ExpressionType;
2331
2138
  readonly ParentIdentifier: Expression;
2332
2139
  readonly SelectExpression: SelectExpression;
2333
2140
  readonly Type: Type;
2334
2141
  Update(parentIdentifier: Expression, childIdentifier: Expression, selectExpression: SelectExpression, innerShaper: Expression): RelationalSplitCollectionShaperExpression;
2142
+ VisitChildren(visitor: ExpressionVisitor): Expression;
2335
2143
  }
2336
2144
 
2337
2145
 
@@ -2349,36 +2157,32 @@ export interface RelationalSplitCollectionShaperExpression$instance extends IPri
2349
2157
  export type RelationalSplitCollectionShaperExpression = RelationalSplitCollectionShaperExpression$instance & __RelationalSplitCollectionShaperExpression$views;
2350
2158
 
2351
2159
 
2352
- export abstract class RelationalSqlTranslatingExpressionVisitor$protected {
2353
- protected readonly Dependencies: RelationalSqlTranslatingExpressionVisitorDependencies;
2354
- protected AddTranslationErrorDetails(details: string): void;
2355
- protected TryTranslateAggregateMethodCall(methodCallExpression: MethodCallExpression, translation: SqlExpression): boolean;
2356
- protected VisitBinary(binaryExpression: BinaryExpression): Expression;
2357
- protected VisitConditional(conditionalExpression: ConditionalExpression): Expression;
2358
- protected VisitConstant(constantExpression: ConstantExpression): Expression;
2359
- protected VisitExtension(extensionExpression: Expression): Expression;
2360
- protected VisitInvocation(invocationExpression: InvocationExpression): Expression;
2361
- protected VisitLambda<T>(lambdaExpression: Expression<T>): Expression;
2362
- protected VisitListInit(listInitExpression: ListInitExpression): Expression;
2363
- protected VisitMember(memberExpression: MemberExpression): Expression;
2364
- protected VisitMemberInit(memberInitExpression: MemberInitExpression): Expression;
2365
- protected VisitMethodCall(methodCallExpression: MethodCallExpression): Expression;
2366
- protected VisitNew(newExpression: NewExpression): Expression;
2367
- protected VisitNewArray(newArrayExpression: NewArrayExpression): Expression;
2368
- protected VisitParameter(parameterExpression: ParameterExpression): Expression;
2369
- protected VisitTypeBinary(typeBinaryExpression: TypeBinaryExpression): Expression;
2370
- protected VisitUnary(unaryExpression: UnaryExpression): Expression;
2371
- }
2372
-
2373
-
2374
- export interface RelationalSqlTranslatingExpressionVisitor$instance extends RelationalSqlTranslatingExpressionVisitor$protected, ExpressionVisitor {
2160
+ export interface RelationalSqlTranslatingExpressionVisitor$instance extends ExpressionVisitor {
2161
+ readonly Dependencies: RelationalSqlTranslatingExpressionVisitorDependencies;
2375
2162
  get TranslationErrorDetails(): string | undefined;
2376
- set TranslationErrorDetails(value: string);
2163
+ set TranslationErrorDetails(value: string | undefined);
2164
+ AddTranslationErrorDetails(details: string): void;
2377
2165
  GenerateGreatest(expressions: IReadOnlyList<SqlExpression>, resultType: Type): SqlExpression | undefined;
2378
2166
  GenerateLeast(expressions: IReadOnlyList<SqlExpression>, resultType: Type): SqlExpression | undefined;
2379
2167
  Translate(expression: Expression, applyDefaultTypeMapping?: boolean): SqlExpression | undefined;
2380
2168
  TranslateProjection(expression: Expression, applyDefaultTypeMapping?: boolean): Expression | undefined;
2381
2169
  TryBindMember(source: Expression, member: MemberIdentity, expression: Expression, property: IPropertyBase): boolean;
2170
+ TryTranslateAggregateMethodCall(methodCallExpression: MethodCallExpression, translation: SqlExpression): boolean;
2171
+ VisitBinary(binaryExpression: BinaryExpression): Expression;
2172
+ VisitConditional(conditionalExpression: ConditionalExpression): Expression;
2173
+ VisitConstant(constantExpression: ConstantExpression): Expression;
2174
+ VisitExtension(extensionExpression: Expression): Expression;
2175
+ VisitInvocation(invocationExpression: InvocationExpression): Expression;
2176
+ VisitLambda<T>(lambdaExpression: Expression<T>): Expression;
2177
+ VisitListInit(listInitExpression: ListInitExpression): Expression;
2178
+ VisitMember(memberExpression: MemberExpression): Expression;
2179
+ VisitMemberInit(memberInitExpression: MemberInitExpression): Expression;
2180
+ VisitMethodCall(methodCallExpression: MethodCallExpression): Expression;
2181
+ VisitNew(newExpression: NewExpression): Expression;
2182
+ VisitNewArray(newArrayExpression: NewArrayExpression): Expression;
2183
+ VisitParameter(parameterExpression: ParameterExpression): Expression;
2184
+ VisitTypeBinary(typeBinaryExpression: TypeBinaryExpression): Expression;
2185
+ VisitUnary(unaryExpression: UnaryExpression): Expression;
2382
2186
  }
2383
2187
 
2384
2188
 
@@ -2413,12 +2217,8 @@ export const RelationalSqlTranslatingExpressionVisitorDependencies: {
2413
2217
 
2414
2218
  export type RelationalSqlTranslatingExpressionVisitorDependencies = RelationalSqlTranslatingExpressionVisitorDependencies$instance;
2415
2219
 
2416
- export abstract class RelationalSqlTranslatingExpressionVisitorFactory$protected {
2417
- protected readonly Dependencies: RelationalSqlTranslatingExpressionVisitorDependencies;
2418
- }
2419
-
2420
-
2421
- export interface RelationalSqlTranslatingExpressionVisitorFactory$instance extends RelationalSqlTranslatingExpressionVisitorFactory$protected {
2220
+ export interface RelationalSqlTranslatingExpressionVisitorFactory$instance {
2221
+ readonly Dependencies: RelationalSqlTranslatingExpressionVisitorDependencies;
2422
2222
  Create(queryCompilationContext: QueryCompilationContext, queryableMethodTranslatingExpressionVisitor: QueryableMethodTranslatingExpressionVisitor): RelationalSqlTranslatingExpressionVisitor;
2423
2223
  }
2424
2224
 
@@ -2437,12 +2237,8 @@ export interface RelationalSqlTranslatingExpressionVisitorFactory$instance exten
2437
2237
  export type RelationalSqlTranslatingExpressionVisitorFactory = RelationalSqlTranslatingExpressionVisitorFactory$instance & __RelationalSqlTranslatingExpressionVisitorFactory$views;
2438
2238
 
2439
2239
 
2440
- export abstract class RelationalStructuralTypeShaperExpression$protected {
2441
- protected GenerateMaterializationCondition(type: ITypeBase, nullable: boolean): LambdaExpression;
2442
- }
2443
-
2444
-
2445
- export interface RelationalStructuralTypeShaperExpression$instance extends RelationalStructuralTypeShaperExpression$protected, StructuralTypeShaperExpression$instance {
2240
+ export interface RelationalStructuralTypeShaperExpression$instance extends StructuralTypeShaperExpression$instance {
2241
+ GenerateMaterializationCondition(type: ITypeBase, nullable: boolean): LambdaExpression;
2446
2242
  MakeClrTypeNonNullable(): StructuralTypeShaperExpression;
2447
2243
  MakeClrTypeNullable(): StructuralTypeShaperExpression;
2448
2244
  MakeNullable(nullable?: boolean): StructuralTypeShaperExpression;
@@ -2454,7 +2250,6 @@ export interface RelationalStructuralTypeShaperExpression$instance extends Relat
2454
2250
 
2455
2251
  export const RelationalStructuralTypeShaperExpression: {
2456
2252
  new(structuralType: ITypeBase, valueBufferExpression: Expression, nullable: boolean): RelationalStructuralTypeShaperExpression;
2457
- new(type: ITypeBase, valueBufferExpression: Expression, nullable: boolean, materializationCondition: LambdaExpression, clrType: Type): RelationalStructuralTypeShaperExpression;
2458
2253
  };
2459
2254
 
2460
2255
 
@@ -2467,18 +2262,14 @@ export interface RelationalStructuralTypeShaperExpression$instance extends IPrin
2467
2262
  export type RelationalStructuralTypeShaperExpression = RelationalStructuralTypeShaperExpression$instance & __RelationalStructuralTypeShaperExpression$views;
2468
2263
 
2469
2264
 
2470
- export abstract class RelationalTypeMappingPostprocessor$protected {
2471
- protected readonly Dependencies: QueryTranslationPostprocessorDependencies;
2472
- protected readonly QueryCompilationContext: RelationalQueryCompilationContext;
2473
- protected readonly RelationalDependencies: RelationalQueryTranslationPostprocessorDependencies;
2474
- protected ApplyTypeMappingsOnValuesExpression(valuesExpression: ValuesExpression): ValuesExpression;
2475
- protected TryGetInferredTypeMapping(tableAlias: string, columnName: string, inferredTypeMapping: RelationalTypeMapping): boolean;
2476
- protected VisitExtension(expression: Expression): Expression;
2477
- }
2478
-
2479
-
2480
- export interface RelationalTypeMappingPostprocessor$instance extends RelationalTypeMappingPostprocessor$protected, ExpressionVisitor {
2265
+ export interface RelationalTypeMappingPostprocessor$instance extends ExpressionVisitor {
2266
+ readonly Dependencies: QueryTranslationPostprocessorDependencies;
2267
+ readonly QueryCompilationContext: RelationalQueryCompilationContext;
2268
+ readonly RelationalDependencies: RelationalQueryTranslationPostprocessorDependencies;
2269
+ ApplyTypeMappingsOnValuesExpression(valuesExpression: ValuesExpression): ValuesExpression;
2481
2270
  Process(expression: Expression): Expression;
2271
+ TryGetInferredTypeMapping(tableAlias: string, columnName: string, inferredTypeMapping: RelationalTypeMapping): boolean;
2272
+ VisitExtension(expression: Expression): Expression;
2482
2273
  }
2483
2274
 
2484
2275
 
@@ -2489,14 +2280,10 @@ export const RelationalTypeMappingPostprocessor: {
2489
2280
 
2490
2281
  export type RelationalTypeMappingPostprocessor = RelationalTypeMappingPostprocessor$instance;
2491
2282
 
2492
- export abstract class ReplacingExpressionVisitor$protected {
2493
- protected VisitMember(memberExpression: MemberExpression): Expression;
2494
- protected VisitMethodCall(methodCallExpression: MethodCallExpression): Expression;
2495
- }
2496
-
2497
-
2498
- export interface ReplacingExpressionVisitor$instance extends ReplacingExpressionVisitor$protected, ExpressionVisitor {
2283
+ export interface ReplacingExpressionVisitor$instance extends ExpressionVisitor {
2499
2284
  Visit(expression: Expression): Expression | undefined;
2285
+ VisitMember(memberExpression: MemberExpression): Expression;
2286
+ VisitMethodCall(methodCallExpression: MethodCallExpression): Expression;
2500
2287
  }
2501
2288
 
2502
2289
 
@@ -2509,24 +2296,19 @@ export const ReplacingExpressionVisitor: {
2509
2296
 
2510
2297
  export type ReplacingExpressionVisitor = ReplacingExpressionVisitor$instance;
2511
2298
 
2512
- export abstract class ShapedQueryCompilingExpressionVisitor$protected {
2513
- protected readonly Dependencies: ShapedQueryCompilingExpressionVisitorDependencies;
2514
- protected readonly QueryCompilationContext: QueryCompilationContext;
2515
- protected InjectEntityMaterializers(expression: Expression): Expression;
2516
- protected InjectStructuralTypeMaterializers(expression: Expression): Expression;
2517
- protected VerifyNoClientConstant(expression: Expression): void;
2518
- protected VisitExtension(extensionExpression: Expression): Expression;
2519
- protected abstract VisitShapedQuery(shapedQueryExpression: ShapedQueryExpression): Expression;
2520
- }
2521
-
2522
-
2523
- export interface ShapedQueryCompilingExpressionVisitor$instance extends ShapedQueryCompilingExpressionVisitor$protected, ExpressionVisitor {
2299
+ export interface ShapedQueryCompilingExpressionVisitor$instance extends ExpressionVisitor {
2300
+ readonly Dependencies: ShapedQueryCompilingExpressionVisitorDependencies;
2301
+ readonly QueryCompilationContext: QueryCompilationContext;
2524
2302
  AddStructuralTypeInitialization(shaper: StructuralTypeShaperExpression, instanceVariable: ParameterExpression, variables: List<ParameterExpression>, expressions: List<Expression>): void;
2303
+ InjectEntityMaterializers(expression: Expression): Expression;
2304
+ InjectStructuralTypeMaterializers(expression: Expression): Expression;
2305
+ VerifyNoClientConstant(expression: Expression): void;
2306
+ VisitExtension(extensionExpression: Expression): Expression;
2307
+ VisitShapedQuery(shapedQueryExpression: ShapedQueryExpression): Expression;
2525
2308
  }
2526
2309
 
2527
2310
 
2528
- export const ShapedQueryCompilingExpressionVisitor: {
2529
- new(dependencies: ShapedQueryCompilingExpressionVisitorDependencies, queryCompilationContext: QueryCompilationContext): ShapedQueryCompilingExpressionVisitor;
2311
+ export const ShapedQueryCompilingExpressionVisitor: (abstract new(dependencies: ShapedQueryCompilingExpressionVisitorDependencies, queryCompilationContext: QueryCompilationContext) => ShapedQueryCompilingExpressionVisitor) & {
2530
2312
  CreateNullKeyValueInNoTrackingQuery(entityType: IEntityType, properties: IReadOnlyList<IProperty>, keyValues: unknown[]): Exception;
2531
2313
  SingleAsync<TSource>(asyncEnumerable: IAsyncEnumerable<TSource>, cancellationToken?: CancellationToken): Task<TSource>;
2532
2314
  SingleOrDefaultAsync<TSource>(asyncEnumerable: IAsyncEnumerable<TSource>, cancellationToken?: CancellationToken): Task<TSource | undefined>;
@@ -2560,12 +2342,7 @@ export const ShapedQueryCompilingExpressionVisitorDependencies: {
2560
2342
 
2561
2343
  export type ShapedQueryCompilingExpressionVisitorDependencies = ShapedQueryCompilingExpressionVisitorDependencies$instance;
2562
2344
 
2563
- export abstract class ShapedQueryExpression$protected {
2564
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
2565
- }
2566
-
2567
-
2568
- export interface ShapedQueryExpression$instance extends ShapedQueryExpression$protected, Expression {
2345
+ export interface ShapedQueryExpression$instance extends Expression {
2569
2346
  readonly NodeType: ExpressionType;
2570
2347
  readonly QueryExpression: Expression;
2571
2348
  readonly ResultCardinality: ResultCardinality;
@@ -2575,6 +2352,7 @@ export interface ShapedQueryExpression$instance extends ShapedQueryExpression$pr
2575
2352
  UpdateQueryExpression(queryExpression: Expression): ShapedQueryExpression;
2576
2353
  UpdateResultCardinality(resultCardinality: ResultCardinality): ShapedQueryExpression;
2577
2354
  UpdateShaperExpression(shaperExpression: Expression): ShapedQueryExpression;
2355
+ VisitChildren(visitor: ExpressionVisitor): Expression;
2578
2356
  }
2579
2357
 
2580
2358
 
@@ -2592,15 +2370,11 @@ export interface ShapedQueryExpression$instance extends IPrintableExpression$ins
2592
2370
  export type ShapedQueryExpression = ShapedQueryExpression$instance & __ShapedQueryExpression$views;
2593
2371
 
2594
2372
 
2595
- export abstract class SqlAliasManager$protected {
2596
- protected RemapTableAliases(usedAliases: IReadOnlySet<System_Internal.String>): Dictionary<System_Internal.String, System_Internal.String> | undefined;
2597
- }
2598
-
2599
-
2600
- export interface SqlAliasManager$instance extends SqlAliasManager$protected {
2373
+ export interface SqlAliasManager$instance {
2601
2374
  GenerateTableAlias(name: string): string;
2602
2375
  GenerateTableAlias(modelTable: ITableBase): string;
2603
2376
  PostprocessAliases(expression: Expression): Expression;
2377
+ RemapTableAliases(usedAliases: IReadOnlySet<System_Internal.String>): Dictionary<System_Internal.String, System_Internal.String> | undefined;
2604
2378
  }
2605
2379
 
2606
2380
 
@@ -2630,12 +2404,8 @@ export interface SqlAliasManagerFactory$instance extends ISqlAliasManagerFactory
2630
2404
  export type SqlAliasManagerFactory = SqlAliasManagerFactory$instance & __SqlAliasManagerFactory$views;
2631
2405
 
2632
2406
 
2633
- export abstract class SqlExpressionFactory$protected {
2634
- protected readonly Dependencies: SqlExpressionFactoryDependencies;
2635
- }
2636
-
2637
-
2638
- export interface SqlExpressionFactory$instance extends SqlExpressionFactory$protected {
2407
+ export interface SqlExpressionFactory$instance {
2408
+ readonly Dependencies: SqlExpressionFactoryDependencies;
2639
2409
  Add(left: SqlExpression, right: SqlExpression, typeMapping?: RelationalTypeMapping): SqlExpression;
2640
2410
  And(left: SqlExpression, right: SqlExpression, typeMapping?: RelationalTypeMapping): SqlExpression;
2641
2411
  AndAlso(left: SqlExpression, right: SqlExpression): SqlExpression;
@@ -2712,99 +2482,90 @@ export const SqlExpressionFactoryDependencies: {
2712
2482
 
2713
2483
  export type SqlExpressionFactoryDependencies = SqlExpressionFactoryDependencies$instance;
2714
2484
 
2715
- export abstract class SqlExpressionVisitor$protected {
2716
- protected abstract VisitAtTimeZone(atTimeZoneExpression: AtTimeZoneExpression): Expression;
2717
- protected abstract VisitCase(caseExpression: CaseExpression): Expression;
2718
- protected abstract VisitCollate(collateExpression: CollateExpression): Expression;
2719
- protected abstract VisitColumn(columnExpression: ColumnExpression): Expression;
2720
- protected abstract VisitCrossApply(crossApplyExpression: CrossApplyExpression): Expression;
2721
- protected abstract VisitCrossJoin(crossJoinExpression: CrossJoinExpression): Expression;
2722
- protected abstract VisitDelete(deleteExpression: DeleteExpression): Expression;
2723
- protected abstract VisitDistinct(distinctExpression: DistinctExpression): Expression;
2724
- protected abstract VisitExcept(exceptExpression: ExceptExpression): Expression;
2725
- protected abstract VisitExists(existsExpression: ExistsExpression): Expression;
2726
- protected VisitExtension(extensionExpression: Expression): Expression;
2727
- protected abstract VisitFromSql(fromSqlExpression: FromSqlExpression): Expression;
2728
- protected abstract VisitIn(inExpression: InExpression): Expression;
2729
- protected abstract VisitInnerJoin(innerJoinExpression: InnerJoinExpression): Expression;
2730
- protected abstract VisitIntersect(intersectExpression: IntersectExpression): Expression;
2731
- protected abstract VisitJsonScalar(jsonScalarExpression: JsonScalarExpression): Expression;
2732
- protected abstract VisitLeftJoin(leftJoinExpression: LeftJoinExpression): Expression;
2733
- protected abstract VisitLike(likeExpression: LikeExpression): Expression;
2734
- protected abstract VisitOrdering(orderingExpression: OrderingExpression): Expression;
2735
- protected abstract VisitOuterApply(outerApplyExpression: OuterApplyExpression): Expression;
2736
- protected abstract VisitProjection(projectionExpression: ProjectionExpression): Expression;
2737
- protected abstract VisitRightJoin(rightJoinExpression: RightJoinExpression): Expression;
2738
- protected abstract VisitRowNumber(rowNumberExpression: RowNumberExpression): Expression;
2739
- protected abstract VisitRowValue(rowValueExpression: RowValueExpression): Expression;
2740
- protected abstract VisitScalarSubquery(scalarSubqueryExpression: ScalarSubqueryExpression): Expression;
2741
- protected abstract VisitSelect(selectExpression: SelectExpression): Expression;
2742
- protected abstract VisitSqlBinary(sqlBinaryExpression: SqlBinaryExpression): Expression;
2743
- protected abstract VisitSqlConstant(sqlConstantExpression: SqlConstantExpression): Expression;
2744
- protected abstract VisitSqlFragment(sqlFragmentExpression: SqlFragmentExpression): Expression;
2745
- protected abstract VisitSqlFunction(sqlFunctionExpression: SqlFunctionExpression): Expression;
2746
- protected abstract VisitSqlParameter(sqlParameterExpression: SqlParameterExpression): Expression;
2747
- protected abstract VisitSqlUnary(sqlUnaryExpression: SqlUnaryExpression): Expression;
2748
- protected abstract VisitTable(tableExpression: TableExpression): Expression;
2749
- protected abstract VisitTableValuedFunction(tableValuedFunctionExpression: TableValuedFunctionExpression): Expression;
2750
- protected abstract VisitUnion(unionExpression: UnionExpression): Expression;
2751
- protected abstract VisitUpdate(updateExpression: UpdateExpression): Expression;
2752
- protected abstract VisitValues(valuesExpression: ValuesExpression): Expression;
2753
- }
2754
-
2755
-
2756
- export interface SqlExpressionVisitor$instance extends SqlExpressionVisitor$protected, ExpressionVisitor {
2757
- }
2758
-
2759
-
2760
- export const SqlExpressionVisitor: {
2761
- new(): SqlExpressionVisitor;
2485
+ export interface SqlExpressionVisitor$instance extends ExpressionVisitor {
2486
+ VisitAtTimeZone(atTimeZoneExpression: AtTimeZoneExpression): Expression;
2487
+ VisitCase(caseExpression: CaseExpression): Expression;
2488
+ VisitCollate(collateExpression: CollateExpression): Expression;
2489
+ VisitColumn(columnExpression: ColumnExpression): Expression;
2490
+ VisitCrossApply(crossApplyExpression: CrossApplyExpression): Expression;
2491
+ VisitCrossJoin(crossJoinExpression: CrossJoinExpression): Expression;
2492
+ VisitDelete(deleteExpression: DeleteExpression): Expression;
2493
+ VisitDistinct(distinctExpression: DistinctExpression): Expression;
2494
+ VisitExcept(exceptExpression: ExceptExpression): Expression;
2495
+ VisitExists(existsExpression: ExistsExpression): Expression;
2496
+ VisitExtension(extensionExpression: Expression): Expression;
2497
+ VisitFromSql(fromSqlExpression: FromSqlExpression): Expression;
2498
+ VisitIn(inExpression: InExpression): Expression;
2499
+ VisitInnerJoin(innerJoinExpression: InnerJoinExpression): Expression;
2500
+ VisitIntersect(intersectExpression: IntersectExpression): Expression;
2501
+ VisitJsonScalar(jsonScalarExpression: JsonScalarExpression): Expression;
2502
+ VisitLeftJoin(leftJoinExpression: LeftJoinExpression): Expression;
2503
+ VisitLike(likeExpression: LikeExpression): Expression;
2504
+ VisitOrdering(orderingExpression: OrderingExpression): Expression;
2505
+ VisitOuterApply(outerApplyExpression: OuterApplyExpression): Expression;
2506
+ VisitProjection(projectionExpression: ProjectionExpression): Expression;
2507
+ VisitRightJoin(rightJoinExpression: RightJoinExpression): Expression;
2508
+ VisitRowNumber(rowNumberExpression: RowNumberExpression): Expression;
2509
+ VisitRowValue(rowValueExpression: RowValueExpression): Expression;
2510
+ VisitScalarSubquery(scalarSubqueryExpression: ScalarSubqueryExpression): Expression;
2511
+ VisitSelect(selectExpression: SelectExpression): Expression;
2512
+ VisitSqlBinary(sqlBinaryExpression: SqlBinaryExpression): Expression;
2513
+ VisitSqlConstant(sqlConstantExpression: SqlConstantExpression): Expression;
2514
+ VisitSqlFragment(sqlFragmentExpression: SqlFragmentExpression): Expression;
2515
+ VisitSqlFunction(sqlFunctionExpression: SqlFunctionExpression): Expression;
2516
+ VisitSqlParameter(sqlParameterExpression: SqlParameterExpression): Expression;
2517
+ VisitSqlUnary(sqlUnaryExpression: SqlUnaryExpression): Expression;
2518
+ VisitTable(tableExpression: TableExpression): Expression;
2519
+ VisitTableValuedFunction(tableValuedFunctionExpression: TableValuedFunctionExpression): Expression;
2520
+ VisitUnion(unionExpression: UnionExpression): Expression;
2521
+ VisitUpdate(updateExpression: UpdateExpression): Expression;
2522
+ VisitValues(valuesExpression: ValuesExpression): Expression;
2523
+ }
2524
+
2525
+
2526
+ export const SqlExpressionVisitor: (abstract new() => SqlExpressionVisitor) & {
2762
2527
  };
2763
2528
 
2764
2529
 
2765
2530
  export type SqlExpressionVisitor = SqlExpressionVisitor$instance;
2766
2531
 
2767
- export abstract class SqlNullabilityProcessor$protected {
2768
- protected readonly Dependencies: RelationalParameterBasedSqlProcessorDependencies;
2769
- protected ParametersDecorator: ParametersCacheDecorator;
2770
- protected readonly PreferExistsToInWithCoalesce: boolean;
2771
- protected readonly UseRelationalNulls: boolean;
2772
- protected AddNonNullableColumn(columnExpression: ColumnExpression): void;
2773
- protected CalculateParameterBucketSize(count: int, elementTypeMapping: RelationalTypeMapping): int;
2774
- protected IsCollectionTable(table: TableExpressionBase, collection: Expression): boolean;
2775
- protected OptimizeNotExpression(expression: SqlExpression): SqlExpression;
2776
- protected ProcessValuesOrderingColumn(valuesExpression: ValuesExpression, expressions: IReadOnlyList<SqlExpression>, intTypeMapping: IntTypeMapping, counter: int): IReadOnlyList<SqlExpression>;
2777
- protected TryMakeNonNullable(selectExpression: SelectExpression, rewrittenSelectExpression: SelectExpression, foundNull: Nullable<System_Internal.Boolean>): boolean;
2778
- protected UpdateParameterCollection(table: TableExpressionBase, newCollectionParameter: SqlParameterExpression): TableExpressionBase;
2779
- protected Visit(selectExpression: SelectExpression, visitProjection?: boolean): SelectExpression;
2780
- protected Visit(sqlExpression: SqlExpression, nullable: boolean): SqlExpression | undefined;
2781
- protected Visit(sqlExpression: SqlExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression | undefined;
2782
- protected VisitAtTimeZone(atTimeZoneExpression: AtTimeZoneExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2783
- protected VisitCase(caseExpression: CaseExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2784
- protected VisitCollate(collateExpression: CollateExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2785
- protected VisitColumn(columnExpression: ColumnExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2786
- protected VisitCustomSqlExpression(sqlExpression: SqlExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2787
- protected VisitDistinct(distinctExpression: DistinctExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2788
- protected VisitExists(existsExpression: ExistsExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2789
- protected VisitExtension(node: Expression): Expression;
2790
- protected VisitIn(inExpression: InExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2791
- protected VisitJsonScalar(jsonScalarExpression: JsonScalarExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2792
- protected VisitLike(likeExpression: LikeExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2793
- protected VisitRowNumber(rowNumberExpression: RowNumberExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2794
- protected VisitRowValue(rowValueExpression: RowValueExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2795
- protected VisitScalarSubquery(scalarSubqueryExpression: ScalarSubqueryExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2796
- protected VisitSqlBinary(sqlBinaryExpression: SqlBinaryExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2797
- protected VisitSqlConstant(sqlConstantExpression: SqlConstantExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2798
- protected VisitSqlFragment(sqlFragmentExpression: SqlFragmentExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2799
- protected VisitSqlFunction(sqlFunctionExpression: SqlFunctionExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2800
- protected VisitSqlParameter(sqlParameterExpression: SqlParameterExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2801
- protected VisitSqlUnary(sqlUnaryExpression: SqlUnaryExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2802
- }
2803
-
2804
-
2805
- export interface SqlNullabilityProcessor$instance extends SqlNullabilityProcessor$protected, ExpressionVisitor {
2532
+ export interface SqlNullabilityProcessor$instance extends ExpressionVisitor {
2806
2533
  readonly CollectionParameterTranslationMode: ParameterTranslationMode;
2534
+ readonly Dependencies: RelationalParameterBasedSqlProcessorDependencies;
2535
+ ParametersDecorator: ParametersCacheDecorator;
2536
+ readonly PreferExistsToInWithCoalesce: boolean;
2537
+ readonly UseRelationalNulls: boolean;
2538
+ AddNonNullableColumn(columnExpression: ColumnExpression): void;
2539
+ CalculateParameterBucketSize(count: int, elementTypeMapping: RelationalTypeMapping): int;
2540
+ IsCollectionTable(table: TableExpressionBase, collection: Expression): boolean;
2541
+ OptimizeNotExpression(expression: SqlExpression): SqlExpression;
2807
2542
  Process(queryExpression: Expression, parametersDecorator: ParametersCacheDecorator): Expression;
2543
+ ProcessValuesOrderingColumn(valuesExpression: ValuesExpression, expressions: IReadOnlyList<SqlExpression>, intTypeMapping: IntTypeMapping, counter: int): IReadOnlyList<SqlExpression>;
2544
+ TryMakeNonNullable(selectExpression: SelectExpression, rewrittenSelectExpression: SelectExpression, foundNull: Nullable<System_Internal.Boolean>): boolean;
2545
+ UpdateParameterCollection(table: TableExpressionBase, newCollectionParameter: SqlParameterExpression): TableExpressionBase;
2546
+ Visit(selectExpression: SelectExpression, visitProjection?: boolean): SelectExpression;
2547
+ Visit(sqlExpression: SqlExpression, nullable: boolean): SqlExpression | undefined;
2548
+ Visit(sqlExpression: SqlExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression | undefined;
2549
+ VisitAtTimeZone(atTimeZoneExpression: AtTimeZoneExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2550
+ VisitCase(caseExpression: CaseExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2551
+ VisitCollate(collateExpression: CollateExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2552
+ VisitColumn(columnExpression: ColumnExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2553
+ VisitCustomSqlExpression(sqlExpression: SqlExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2554
+ VisitDistinct(distinctExpression: DistinctExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2555
+ VisitExists(existsExpression: ExistsExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2556
+ VisitExtension(node: Expression): Expression;
2557
+ VisitIn(inExpression: InExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2558
+ VisitJsonScalar(jsonScalarExpression: JsonScalarExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2559
+ VisitLike(likeExpression: LikeExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2560
+ VisitRowNumber(rowNumberExpression: RowNumberExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2561
+ VisitRowValue(rowValueExpression: RowValueExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2562
+ VisitScalarSubquery(scalarSubqueryExpression: ScalarSubqueryExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2563
+ VisitSqlBinary(sqlBinaryExpression: SqlBinaryExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2564
+ VisitSqlConstant(sqlConstantExpression: SqlConstantExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2565
+ VisitSqlFragment(sqlFragmentExpression: SqlFragmentExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2566
+ VisitSqlFunction(sqlFunctionExpression: SqlFunctionExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2567
+ VisitSqlParameter(sqlParameterExpression: SqlParameterExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2568
+ VisitSqlUnary(sqlUnaryExpression: SqlUnaryExpression, allowOptimizedExpansion: boolean, nullable: boolean): SqlExpression;
2808
2569
  }
2809
2570
 
2810
2571
 
@@ -2815,18 +2576,15 @@ export const SqlNullabilityProcessor: {
2815
2576
 
2816
2577
  export type SqlNullabilityProcessor = SqlNullabilityProcessor$instance;
2817
2578
 
2818
- export abstract class SqlTreePruner$protected {
2819
- protected CurrentTableAlias: string | undefined;
2820
- protected readonly ReferencedColumnMap: IReadOnlyDictionary<System_Internal.String, HashSet<System_Internal.String>>;
2821
- protected PruneSelect(select: SelectExpression, preserveProjection: boolean): SelectExpression;
2822
- protected PruneTopLevelSelect(select: SelectExpression): SelectExpression;
2823
- protected PruneValues(values: ValuesExpression): ValuesExpression;
2824
- protected VisitExtension(node: Expression): Expression;
2825
- }
2826
-
2827
-
2828
- export interface SqlTreePruner$instance extends SqlTreePruner$protected, ExpressionVisitor {
2579
+ export interface SqlTreePruner$instance extends ExpressionVisitor {
2580
+ get CurrentTableAlias(): string | undefined;
2581
+ set CurrentTableAlias(value: string | undefined);
2582
+ readonly ReferencedColumnMap: IReadOnlyDictionary<System_Internal.String, HashSet<System_Internal.String>>;
2829
2583
  Prune(expression: Expression): Expression;
2584
+ PruneSelect(select: SelectExpression, preserveProjection: boolean): SelectExpression;
2585
+ PruneTopLevelSelect(select: SelectExpression): SelectExpression;
2586
+ PruneValues(values: ValuesExpression): ValuesExpression;
2587
+ VisitExtension(node: Expression): Expression;
2830
2588
  }
2831
2589
 
2832
2590
 
@@ -2837,12 +2595,7 @@ export const SqlTreePruner: {
2837
2595
 
2838
2596
  export type SqlTreePruner = SqlTreePruner$instance;
2839
2597
 
2840
- export abstract class StructuralTypeProjectionExpression$protected {
2841
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
2842
- }
2843
-
2844
-
2845
- export interface StructuralTypeProjectionExpression$instance extends StructuralTypeProjectionExpression$protected, Expression {
2598
+ export interface StructuralTypeProjectionExpression$instance extends Expression {
2846
2599
  readonly DiscriminatorExpression: SqlExpression | undefined;
2847
2600
  readonly IsNullable: boolean;
2848
2601
  readonly NodeType: ExpressionType;
@@ -2857,6 +2610,7 @@ export interface StructuralTypeProjectionExpression$instance extends StructuralT
2857
2610
  ToString(): string;
2858
2611
  UpdateEntityType(derivedType: IEntityType): StructuralTypeProjectionExpression;
2859
2612
  UpdateTableMap(newTableMap: IReadOnlyDictionary<ITableBase, System_Internal.String>): StructuralTypeProjectionExpression;
2613
+ VisitChildren(visitor: ExpressionVisitor): Expression;
2860
2614
  }
2861
2615
 
2862
2616
 
@@ -2868,13 +2622,7 @@ export const StructuralTypeProjectionExpression: {
2868
2622
 
2869
2623
  export type StructuralTypeProjectionExpression = StructuralTypeProjectionExpression$instance;
2870
2624
 
2871
- export abstract class StructuralTypeShaperExpression$protected {
2872
- protected GenerateMaterializationCondition(type: ITypeBase, nullable: boolean): LambdaExpression;
2873
- protected VisitChildren(visitor: ExpressionVisitor): Expression;
2874
- }
2875
-
2876
-
2877
- export interface StructuralTypeShaperExpression$instance extends StructuralTypeShaperExpression$protected, Expression {
2625
+ export interface StructuralTypeShaperExpression$instance extends Expression {
2878
2626
  readonly IsNullable: boolean;
2879
2627
  readonly MaterializationCondition: LambdaExpression;
2880
2628
  readonly NodeType: ExpressionType;
@@ -2882,17 +2630,18 @@ export interface StructuralTypeShaperExpression$instance extends StructuralTypeS
2882
2630
  readonly Type: Type;
2883
2631
  readonly ValueBufferExpression: Expression;
2884
2632
  DebuggerDisplay(): string;
2633
+ GenerateMaterializationCondition(type: ITypeBase, nullable: boolean): LambdaExpression;
2885
2634
  MakeClrTypeNonNullable(): StructuralTypeShaperExpression;
2886
2635
  MakeClrTypeNullable(): StructuralTypeShaperExpression;
2887
2636
  MakeNullable(nullable?: boolean): StructuralTypeShaperExpression;
2888
2637
  Update(valueBufferExpression: Expression): StructuralTypeShaperExpression;
2638
+ VisitChildren(visitor: ExpressionVisitor): Expression;
2889
2639
  WithType(type: ITypeBase): StructuralTypeShaperExpression;
2890
2640
  }
2891
2641
 
2892
2642
 
2893
2643
  export const StructuralTypeShaperExpression: {
2894
2644
  new(type: ITypeBase, valueBufferExpression: Expression, nullable: boolean): StructuralTypeShaperExpression;
2895
- new(type: ITypeBase, valueBufferExpression: Expression, nullable: boolean, materializationCondition: LambdaExpression, clrType: Type): StructuralTypeShaperExpression;
2896
2645
  CreateUnableToDiscriminateException(type: ITypeBase, discriminator: unknown): Exception;
2897
2646
  CreateUnableToDiscriminateExceptionExpression(type: ITypeBase, discriminatorValue: Expression): Expression;
2898
2647
  };