EF Core- Is there a reason that DB-First seems to be patently rejected by it?
I currently work on a .Net Framework web application that uses EF6, and I love it. The primary purpose for us is to get quick and easy mappings into C# objects that we're able to abstract away into simple CRUD methods for the vast majority of our use cases, with just a small amount of boilerplate per table (like defining access permissions and creating an actual DTO to map the entity to). We rely on an actual database management program to build out our database and enforce constraints and build out stored procedures as needed.
However, we're building out a new product and considering .Net Core since we love a lot of what's happening with it, but the biggest fear seems to be that EF Core seems to reject the idea that database first is a realistic development approach, and goes hard on Fluent API and code-first database development, providing only a single "map the entire database" command as its only DB-first option, and recommending against its use for continued development.
Now, I could just complain that I'm not able to just do it the way I want, but I think the bigger question to ask is "is there a reason why?" The rhetoric around it seems to be that they never plan to truly support DB-first, but is it because there's a fundamental reason code-first is preferable? Is it just a technical limitation of Core's approach? Is it just shrugged off because partial classes + re-scaffolding the entire project on each update is a decent-enough workaround for the time being while code-first developers are heavily limited by what is chosen to be developed? Some mix of all of it? Am I just misunderstanding the rhetoric and they hope to provide better DB-first tooling in the future?
I'm just looking for any information I can find on ideology/practicability that can help me make the decision to build out in .Net Core. Because I'd really like to, but the loss of this feature may be too big of a loss for our development process. I'd also love to hear experiences from people who HAVE made the change, how has it actually impacted things for you?
0 comments:
Post a Comment