Conversation
Summary of ChangesHello @olavloite, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request modifies the type mappings in the Google Cloud Entity Framework Core Spanner provider to support design-time services for generating compiled models. It also adds annotations to internal APIs and defines default type mapping instances. Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request primarily updates various type mapping classes to support Entity Framework Core's compiled models feature. The changes involve making internal classes public, adding static Default properties, and including standard XML documentation to warn about their internal nature. These modifications are necessary and correctly implemented for enabling design-time services. I have one suggestion to improve code clarity and potentially avoid a minor inefficiency in SpannerComplexTypeMapping.cs by removing a redundant null check, aligning with repository guidelines.
Google.Cloud.EntityFrameworkCore.Spanner/Storage/Internal/SpannerComplexTypeMapping.cs
Show resolved
Hide resolved
77702ad to
db82d79
Compare
| - name: Compile sample model | ||
| working-directory: ./Google.Cloud.EntityFrameworkCore.Spanner.Samples | ||
| run: | | ||
| dotnet tool install --global dotnet-ef |
There was a problem hiding this comment.
nit: should we pin the version here for dotnet-ef?
There was a problem hiding this comment.
No, I think that it is better to install the latest, so we automatically get a signal if the newest version fails this. (I'm not sure if the dependency bots would pick up a version number here, meaning that we would risk getting stuck at an old version for a long time)
Modifies type mappings so these work with design-time services for generating a compiled model.
Note that dotnet/efcore#36437 also applies here, so while generating a compiled model works, the tool still reports an error, as the report step afterwards fails for Entity Framework 8.
Fixes #680