-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Closed
Labels
Milestone
Description
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 9.0 release.
Feb 9
- @ajcvickers Change
exceptionMessageparameter inCoreLoggerExtensions.TypeLoadingErrorWarningto be anExceptionif possible
Mar 8
- @ajcvickers
Review whether we really need- No longer appliesMigrationsSqlGenerator.SequenceOptionsoverload withforAlter. Move logic to other methods otherwise. - @ajcvickers
Remove- No longer appliesIReadOnlySequence.IsCached.CacheSizeof0or1, indicates no caching, all other non-nullvalues indicate caching - @roji Move
ISqlExpressionFactory.TryCreateLeastandTryCreateGreatestto a different method, because SQL Server-specific (#32458). - @roji Rename
QuerySqlGenerator.GenerateProjectiontoGenerateFrom(#33388). - @roji Rename
QuerySqlGenerator.GenerateTablesto something more specific (#33388) - @roji Review
inferredTypeMappingsinRelationalQueryableMethodTranslatingExpressionVisitor.ApplyInferredTypeMappings- Not sure if there was a specific problem we discussed here (I'll try to address these closer to the design discussions...), but I went through the code and things seem OK to me...
- @roji Move out
RelationalInferredTypeMappingApplierand use parameter object (#33308). - @roji Update docs on
ISqlAliasManagerFactorywith lifetime and make it pubternal, together withSqlAliasManager(#33388) -
@roji Throw ifSee this commentSqlAliasManager.GenerateTableAliasis called afterPostprocessAliases(#33388) - @roji Make
SqlAliasManager.RemapTableAliasesprotected (#33388) - @roji Fix
SqlTreePrunerdocs, makeCurrentTableAliasandPruneSelectpubternal. RenamePruneToplevelSelecttoPruneTopLevelSelect(#33388)
Mar 15
- @ajcvickers Replace
IUpdateEntry.GetOriginalOrCurrentValuewithHasOriginalValue
Mar 25
- @ajcvickers Review
MigrationsSqlGenerator.KeyWithOptions - @roji Rename
RelationalExpressionQuotingUtilities.VisitOrNulltoQuoteOrNull(#33420) -
@roji Make the consts inDecided that pubternal consts are OKRelationalQueryableMethodTranslatingExpressionVisitorstatic readonlyinstead - @roji Expose the constructor parameters as properties instead of
ModelinRelationalTypeMappingPostprocessor(#33420)
Apr 3
- @ajcvickers Rename
TConcreteCollectiontoTConcreteListforListOf*Comparer - @ajcvickers Consider sealing
JsonCollection*ReaderWriterclasses
May 13
- @ajcvickers Obsolete the old
CosmosQueryableExtensions.WithPartitionKeyoverload - @ajcvickers Ensure
PartitionKeyis appropriate for diagnostics - @maumar Change
ReplacingExpressionVisitor.ReplacetoIReadOnlyList<Expression>parameters
July 8
- @maumar Make
ReaderColumn.GetFieldValueExpressionand the new constructor experimental.Add the old constructor.adding old ctor creates ambiguity - @maumar Make
ReaderColumn.Createexperimental.Add the old overload.adding old overload creates ambiguity - @maumar Make
ReaderColumn<T>constructor experimental.Add the old constructor.adding old ctor creates ambiguity
July 10
- @cincuranet Mark EntityFrameworkMetricsData.Get* methods pubternal if they are not expected to be called by providers
- @roji Is it appropriate to call
ExpressionExtensions.CreateEFPropertyExpressionwithout anIProperty?- I'm not sure of the context here, but the only place this is done is this hack in Cosmos; the usage is internal (with the warning suppressed), and we'd remove it once nav expansion stops messing up the query tree... So I don't think we really need to do anything here at the moment.
- @roji Move
IPrecompiledQueryCodeGeneratorSelectortoMicrosoft.EntityFrameworkCore.Design- Moving to MS.EF.Query instead for now, as that's where all the (internal) precompiled query stuff currently lives (inside the Design package). Will bring to design to confirm.
- @ajcvickers Remove
EntityMaterializerSourcefromQueryContextandQueryContextDependencies
August 5
- @ajcvickers Rename
AlwaysCreateShadowIdPropertytoHasShadowIdandHasShadowIds(on the model builder) - @ajcvickers Rename
IncludeDiscriminatorInJsonIdtoHasDiscriminatorInJsonIdandHasDiscriminatorInJsonIds. Same for the related methods - @ajcvickers Rename
DiscriminatorInKeyBehaviortoIdDiscriminatorModeand move it toMicrosoft.EntityFrameworkCore.Metadata - @ajcvickers Rename
DiscriminatorInKeyBehavior.(Root)EntityTypeNameto(Root)EntityType - @ajcvickers Move
ETagPropertyConventiontoMicrosoft.EntityFrameworkCore.Metadata.Conventions
August 6
- @ajcvickers Consider merging
CosmosKeyAugmenterConventionwithCosmosKeyDiscoveryConvention, otherwise propose a better name for it.
August 9
- @ajcvickers Check why the obsolete methods on
RelationalSqlTranslatingExpressionVisitorhaven't been removed in the initial pass - @AndriySvyryd Add an overload of
Migrate(Async)with justtargetMigration - @AndriySvyryd Type the
seedargument asAction<DbContext, SeederParameters>and move them toUseSeedingandUseAsyncSeedingonDbContextOptionsBuilder - @AndriySvyryd Remove
IMigratorPluginandIMigratorData - @roji Rename
existingExprinISqlExpressionFactory.CasetoexistingExpression(#34408)
August 12
- @roji Make
SelectExpression.set_IsDistinctprivate- Checked and this isn't possible - we set IsDistinct=false from RelationalQueryableMethodTranslatingExpressionVisitor. Given that it's already possible to mutate SelectExpression in many other ways - even if currently via methods rather than directly - I think this is fine. I hope we make it immutable "soon" anyway...
- @cincuranet Rename
SqlEngineDbContextOptionsBuilder.TryEnableRetryOnFailuretoEnableRetryOnFailureByDefault - @cincuranet Make
QueryCompilationContext.ParametersToConstantizeISet<string> - @cincuranet Make
RelationalParameterBasedSqlProcessorParameters.ParametersToConstantizeandSqlNullabilityProcessor.ParametersToConstantizeIReadOnlySet<string> - @cincuranet Name the new property
ParametersToNotConstantize
Reactions are currently unavailable