-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
5.0 API Reviews #20409
Comments
Issue #20409 * ValueComparer.HasDefaultBehavior => IsDefault extension method * Convert DiagnosticsLoggerExtensions to default interface implementations * GetCheckedConnectionString removed from interface and changed to protected GetValidatedConnectionString
Issue #20409 * ValueComparer.HasDefaultBehavior => IsDefault extension method * Convert DiagnosticsLoggerExtensions to default interface implementations * GetCheckedConnectionString removed from interface and changed to protected GetValidatedConnectionString
@AndriySvyryd We took a note to change SetFieldInfo to SetField. However, this falls foul of the metadata API consistency tests because IProperty has a |
@ajcvickers Just rename the string overload |
@AndriySvyryd So then we want two configuration sources as well? One for Field and one for FieldInfo? Currently we only have one, but then we get:
or vice-versa. |
No, add an exception for this. The string overload is just sugar |
Part of #20409 - Use Field instead of FieldInfo in model building - Change entityTypeName for `IDbSetCache.GetOrAddSet` and similar - Rename CreateKeyValueReadExpression to CreateKeyValuesExpression - Make IsQueryableType real internal - Rename IndexedProperty to IndexerProperty and related - Seal ExpressionEqualityComparer - Change ReplacingExpressionVisitor to use `IReadOnlyList<Expression>` - Use `ETag` instead of `Etag` - Remove `GetViewOrTableColumnMappings` - Rename IColumnBase.Type to StoreType
Part of #20409 Type mappings need to be able to provide different comparers for key and non-key property. However, when a key comparer is being set on a specific property, then a key comparer can be set for key properties and a regular comparer can be set for non-key properties. We don't need to support setting both on the same property. Also remove the fallback parameter, per API review.
Part of #20409 Type mappings need to be able to provide different comparers for key and non-key property. However, when a key comparer is being set on a specific property, then a key comparer can be set for key properties and a regular comparer can be set for non-key properties. We don't need to support setting both on the same property. Also remove the fallback parameter, per API review.
Part of #20409 Type mappings need to be able to provide different comparers for key and non-key property. However, when a key comparer is being set on a specific property, then a key comparer can be set for key properties and a regular comparer can be set for non-key properties. We don't need to support setting both on the same property. Also remove the fallback parameter, per API review.
Part of #20409 - Use Field instead of FieldInfo in model building - Change entityTypeName for `IDbSetCache.GetOrAddSet` and similar - Rename CreateKeyValueReadExpression to CreateKeyValuesExpression - Make IsQueryableType real internal - Rename IndexedProperty to IndexerProperty and related - Seal ExpressionEqualityComparer - Change ReplacingExpressionVisitor to use `IReadOnlyList<Expression>` - Use `ETag` instead of `Etag` - Remove `GetViewOrTableColumnMappings` - Rename IColumnBase.Type to StoreType
* Removed `StoreTypeNameBaseUsesPrecision` * Removed large GetMapping overload that was added in 5.0 but is never called * Fixed issue when reverse engineering where different casing for type name was being ignored Part of #20409
* Removed `StoreTypeNameBaseUsesPrecision` * Removed large GetMapping overload that was added in 5.0 but is never called * Fixed issue when reverse engineering where different casing for type name was being ignored Part of #20409
Part of #20409 * Use FullName instead of DisplayName in the in-memory database * Remove builtIn parameter from DbFunctionAttribute * Make IndexAttribute.PropertyNames an IReadOnlyList * Change IndexAttribute.GetIsUnique to IsUniqueHasValue
Part of dotnet#20409
* API review changes Part of #20409 * Use FullName instead of DisplayName in the in-memory database * Remove builtIn parameter from DbFunctionAttribute * Make IndexAttribute.PropertyNames an IReadOnlyList * Change IndexAttribute.GetIsUnique to IsUniqueHasValue * Tweak DbFunctionAttribute
Part of dotnet#20409
@roji Feel free to close this issue as fixed if you're tracking this elsewhere. |
* Stop qualifying Type parameters with CLR Part of #20409 * Updated API test * Fixed typo
@roji API review changes need to be in rc1. What's the status on this one? |
@smitpatel Looked at it. Was there anything we needed to change? |
Didn't realize Smit had looked--just saw that this was still assigned to @roji. I'll close. |
I believe the APIs we have now is consistent with our strict usage so far. The major question we need to answer about relaxing constraint of generics in those APIs is how would user call those methods on properties which had value converter applied and database type matches function expectation but CLR type does not. It is "needs-design" which should be done post-5.0 |
January 22
Done
Should SqlitePropertyBuilderExtensions.CanSetGeometricDimension and others take an IPropertyBuilder?March 25
Done
GetTypesInHierarchy
(Used 11 times),IsSameHierarchy
(Used 10 times),IsIntraHierarchical
(Used 17 times)IDbSetCache.GetOrAddSet
and similarIConventionEntityType.HasNoKey
,HasDependentToPrincipal
,RemoveAnnotation
,CanSetDiscriminator
,HasNoDeclaredDiscriminator
and related methods that were removedIReadOnlyList<Expression>
ETag
instead ofEtag
GetViewOrTableMappings
GetViewOrTableColumnMappings
IColumn.GetDefaultValue
, etc.IAnnotatable.IsQueryable
when we do aggregate UDFApril NaN
Done
May 20
Done
time
which only has a scale. Consider makingParseStoreTypeName
lookup a type mapping for storeTypeNameBase and use itsStoreTypePostfix
July 22
Done
& RemoveOwnedAugust 5
Done
NavigationIncluded
, use a new event data based onINavigationBase
and use a new event ID.CanHaveNavigationBase
pubternal or inlined and addCanHaveSkipNavigation
SkipNavigationBackingFieldAttributeConvention
into non-skip codenavigationToTarget
->navigation
WithPrecisionAndScale
?clrType
totype
when it is aType
parameter. (Also for xxxClrType parameters.)August 12 (full)
Done
The text was updated successfully, but these errors were encountered: