/// <summary>
 ///     This API supports the Entity Framework Core infrastructure and is not intended to be used
 ///     directly from your code. This API may change or be removed in future releases.
 /// </summary>
 public EntityResultFindingExpressionVisitorFactory(
     [NotNull] IModel model,
     [NotNull] IEntityTrackingInfoFactory entityTrackingInfoFactory)
 {
     _model = model;
     _entityTrackingInfoFactory = entityTrackingInfoFactory;
 }
 /// <summary>
 ///     This API supports the Entity Framework Core infrastructure and is not intended to be used 
 ///     directly from your code. This API may change or be removed in future releases.
 /// </summary>
 public EntityResultFindingExpressionVisitorFactory(
     [NotNull] IModel model,
     [NotNull] IEntityTrackingInfoFactory entityTrackingInfoFactory)
 {
     _model = model;
     _entityTrackingInfoFactory = entityTrackingInfoFactory;
 }
 public EntityResultFindingExpressionVisitor(
     [NotNull] IModel model,
     [NotNull] IEntityTrackingInfoFactory entityTrackingInfoFactory,
     [NotNull] QueryCompilationContext queryCompilationContext)
 {
     _model = model;
     _entityTrackingInfoFactory = entityTrackingInfoFactory;
     _queryCompilationContext   = queryCompilationContext;
 }
        public EntityResultFindingExpressionVisitor(
            [NotNull] IModel model,
            [NotNull] IEntityTrackingInfoFactory entityTrackingInfoFactory,
            [NotNull] QueryCompilationContext queryCompilationContext)
        {
            _model = model;
            _entityTrackingInfoFactory = entityTrackingInfoFactory;
            _queryCompilationContext   = queryCompilationContext;

            _untrackedQuerySources
                = new HashSet <IQuerySource>(
                      _queryCompilationContext
                      .GetCustomQueryAnnotations(EntityFrameworkQueryableExtensions.AsNoTrackingMethodInfo)
                      .Select(qa => qa.QuerySource));
        }