Skip to content

10.0 API Reviews #35722

@AndriySvyryd

Description

@AndriySvyryd

As a team, we periodically review changes made to the public API. This issue tracks follow-up items that come out of those reviews for the 10.0 release.

Mar 3

  • @roji Obsolete these methods instead of removing them (can be done for other related removed API instead if it's more likely to be used by a provider) (#36449):
    • public ParameterQueryRootExpression(IAsyncQueryProvider asyncQueryProvider, Type elementType, ParameterExpression parameterExpression)
    • public ParameterQueryRootExpression(Type elementType, ParameterExpression parameterExpression)
    • public virtual ParameterExpression ParameterExpression { [CompilerGeneratedAttribute]get; }
  • @roji Consider making QueryableMethodTranslatingExpressionVisitor.ExecuteUpdateSetter non-nested protected
    • @roji says: looked at this, and ExecuteUpdateSetter is an intermediate type within translation that's only exposed to providers - I think it probably makes sense to keep it where it is... We can re-discuss in design.
  • @roji Move the QueryHelpers methods to Infrastructure.EnumerableExtensions (#36449)
  • @roji Consider renaming QueryParameterExpression.ShouldBeConstantized and SqlParameterExpression.ShouldBeConstantized to ShouldBeInlined, also for related names
    • We recently changed this to accept a ParameterTranslationMode enum (to support multiple parameter in addition to constants/parameter) - I think we're good.

Mar 10

  • @roji Mark the removed overload of RelationalQueryableMethodTranslatingExpressionVisitor.IsValidSelectExpressionForExecuteDelete as obsolete instead
    • @roji says: Added back but with [Obsolete(error: true)] since it could get tricky to continue supporting this. (#36449)
  • @roji Consider removing the out parameter from SelectExpression.GetTable
    • @roji says: Looked at this, it seems like a somewhat reasonable utility... There's also an overload without the out for callers that don't need the index. Was there a specific reason we wanted to get rid of this?

July 14

  • @AndriySvyryd Move HasDefaultFullTextLanguage and related methods from entity type to model
  • @AndriySvyryd Rename value parameter in IsFullTextIndex and SetIsFullTextIndex to fullTextIndex, consider making it non-nullable
  • @AndriySvyryd Add bool vectorIndex to IsVectorIndex
  • @AndriySvyryd Remove the class constraint on ToJson
  • @AndriySvyryd Rename GenerateDefaultConstraintName to GetDefaultDefaultConstraintName
  • @cincuranet Change EFExtensions.MultipleParameters to return TSource : IEnumerable (#36358)
  • @cincuranet Make ParameterizedCollectionMode.MultipleParameters value to 0 (#36358)

July 21

  • @roji Rename functions in CosmosDbFunctionsExtensions.Rrf to scores (#36449)
  • @roji Stretch: make the parameters on CosmosDbFunctionsExtensions.VectorDistance optional to reduce the number of overloads (done in #36448)

July 28

  • @AndriySvyryd Rename ContainingType to ContainingEntryType and move it to IRuntimeTypeBase
  • @AndriySvyryd Add ComplexCollectionTypePropertyBuilder
  • @AndriySvyryd Remove IConventionTypeBaseBuilder.IndexerComplexProperty

July 29

  • @roji Rename CacheSafeParameterFacade to ParametersCacheDecorator
  • @roji Make ParametersCacheDecorator.CanCache pubternal
  • @roji Rename ParametersCacheDecorator.GetParametersAndDisableSqlCaching to GetAndDisableCaching
  • @roji Rename ParametersCacheDecorator.IsParameterNull to IsNull
  • @roji Change the return of QueryCompilationContext.IgnoredQueryFilters to a read-only set
    • @roji says: this actually needs to be mutable, since as we process IgnoreQueryFilters() in the query we add to this set.
  • @cincuranet Rename IRelationalCommandBuilder.Append.redact to sensitive (#36469)

Metadata

Metadata

Assignees

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions