-
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
Final API review polish changes #17166
Conversation
ajcvickers
commented
Aug 15, 2019
- Remove GetSetter and GetMaterializationSetter from PropertyBaseExtensions (not used)
- Replace ExpressionExtensions.IsEFProperty with MethodInfo extension
- Verified MemberIdentity is not exposed on public APIs
- MemberIdentity Create(Navigation) => MemberIdentity Create(INavigation)
- IsNonNullableRefType => IsNonNullableReferenceType
- Remove overrides of Expression.CanReduce
- IPrintable => IPrintableExpression
- NullConditionalExpression updates for equality
- Remove TranslateResultSelectorForGroupJoin
- Looked at removing Type from RegisterRuntimeParameter, but it is needed
- Make IConcurrencyDetector - used by providers
- Added QueryContext.SetIsLoaded to avoid using internal StateManager
- Marked StartTracking and StateManager on QueryContext as internal (They aren't used by providers)
- QueryOptimizer => QueryTranslationPreprocessor
- ShapedQueryOptimizer => QueryTranslationPostprocessor
* Remove GetSetter and GetMaterializationSetter from PropertyBaseExtensions (not used) * Replace ExpressionExtensions.IsEFProperty with MethodInfo extension * Verified MemberIdentity is not exposed on public APIs * MemberIdentity Create(Navigation) => MemberIdentity Create(INavigation) * IsNonNullableRefType => IsNonNullableReferenceType * Remove overrides of Expression.CanReduce * IPrintable => IPrintableExpression * NullConditionalExpression updates for equality * Remove TranslateResultSelectorForGroupJoin * Looked at removing Type from RegisterRuntimeParameter, but it is needed * Make IConcurrencyDetector - used by providers * Added QueryContext.SetIsLoaded to avoid using internal StateManager * Marked StartTracking and StateManager on QueryContext as internal (They aren't used by providers) * QueryOptimizer => QueryTranslationPreprocessor * ShapedQueryOptimizer => QueryTranslationPostprocessor
@@ -43,7 +43,7 @@ public static MemberIdentity Create([CanBeNull] string name) | |||
public static MemberIdentity Create([CanBeNull] MemberInfo property) | |||
=> property == null ? None : new MemberIdentity(property); | |||
|
|||
public static MemberIdentity Create([CanBeNull] Navigation navigation) | |||
public static MemberIdentity Create([CanBeNull] INavigation navigation) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this be extension method over INavigation?
/// </summary> | ||
/// <param name="entity"> The entity instance. </param> | ||
/// <param name="navigation"> The navigation property. </param> | ||
public virtual void SetIsLoaded([NotNull] object entity, [NotNull] INavigation navigation) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SetIsLoaded querycontext is bit ambiguous. For entry it makes sense. It should be renamed to something more appropriate. May be SetNavigationIsLoaded.