-
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
Dissolve Relational.Design into just Relational and Design #7004
Comments
I briefly looked into this, and I think if we merge them we need to rework some of the architecture to favor composition over inheritance. Right now, providers inherit a base implementation for generating C#, but a better factoring might come if we just ask provider's for the fragments of C# they need to provide. This would push all of our C#-generating code into EFCore.Design and the contracts for providers could move directly into EFCore.Relational. |
@smitpatel This is something we would really like to get into preview2, but @bricelam is somewhat overbooked. Could you work with @bricelam to understand what is needed and try to get this either this week or early next week? |
@smitpatel How close are you to getting this merged? Can we do it today, even if there are still some open issues that need to be fixed afterwards? This change impacts the packages we produce, which impacts the build, etc., so we really need to get this part in ASAP and then tidy up any lose ends after it is in. |
@roji @ErikEJ & other provider writers Resolving this issue involved doing a lot of refactoring/changes on how reverse engineering pipeline worked. Following is summary of changes which went in. Overall design What provider has to implement now?
What went away?
SQLite provider has minimalistic changes to reverse engineering. Due to #8594 At present testing infra has remained as is (except Design.Tests package got merged into .Tests). Once that issue is fixed, it will define good skeleton for Design.Specification.Tests. Let us know if any feedback/questions. |
I agree |
We've briefly talked about this before, so I'm creating an issue to make any decisions.
We should either:
DbContext.Database.EnsureCreated()
and Migrations) out ofMicrosoft.EntityFrameworkCore.Relational
.or
Microsoft.EntityFrameworkCore.Relational.Design
) into Relational.This would cascade into each provider. They would either need to have one more assembly (for migrations) or combine their Design package into their main one.
The text was updated successfully, but these errors were encountered: