-
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
Run the internal code usage analyzer on the providers #15393
Comments
We need some way to do this automatically, but does not have to be analyzer. |
|
Looks like we can use a project reference: <ProjectReference Include="..\EFCore.Analyzers\EFCore.Analyzers.csproj"
ReferenceOutputAssembly="False"
OutputItemType="Analyzer" /> Some people have reported issues (e.g. having to unload and reload projects) but we can try it and see how annoying it is. |
Removing from Backlog to remember to discuss on Friday. |
Notes from discussion:
See also #16707 for Cosmos |
Apart from few issues/PR I filed, comprehensive report.
|
Part of #15393 Changes: - Suppress DatabaseFacadeDependencies related errors. Optimization which no otherprovider should need. - Suppress errors with DebugView & metadata comparers in relationl model. - Suppress NoopExecutionStrategy in RelationalExecutionStrategyFactory - Suppress FindDeclaredPrimaryKey in MigrationModelDiffer - Suppress errors related to valuefactories and InternalEntityEntry in update pipeline - Suppress errors related to temporary value generator in RelationalValueGeneratorSelector - Move SemanticVersionComparer to Relational - Move DbSetFinderExtensions, DbSetProperty, ConventionAnnotatable, Graph, IndentedStringBuilder to .Infrastructure - Move Multigraph, ReferenceEqualityComparer to shared internal - Remove DbSetProperty.IsKeyless - dead code
Part of #15393 Changes: - Suppress DatabaseFacadeDependencies related errors. Optimization which no otherprovider should need. - Suppress errors with DebugView & metadata comparers in relationl model. - Suppress NoopExecutionStrategy in RelationalExecutionStrategyFactory - Suppress FindDeclaredPrimaryKey in MigrationModelDiffer - Suppress errors related to valuefactories and InternalEntityEntry in update pipeline - Suppress errors related to temporary value generator in RelationalValueGeneratorSelector - Move SemanticVersionComparer to Relational - Move DbSetFinderExtensions, DbSetProperty, ConventionAnnotatable, Graph, IndentedStringBuilder to .Infrastructure - Move Multigraph, ReferenceEqualityComparer to shared internal - Remove DbSetProperty.IsKeyless - dead code
Enabled in relational with suppression in place. |
We have an analyzer that detects usage of internal code, but it doesn't run on the EF Core providers in the solution since analyzers don't work across project references.
Look into running the analyzer from a test instead, for the providers only. This could also be useful in the functional test suite for other providers.
The text was updated successfully, but these errors were encountered: