Blog: Hello, World Freezes Over
EFCore: or Why Didn't I Learn About This in School?
So, I adored my educational experience at Waubonsee Community College and Northern Illinois University quite a bit. I had some amazing instructors, and learned so much about computer science and programming.
But I can also criticize it, and I think there's a lack of important learning that goes on. Most specifically, the tech we often worked with was out of date (Java for Android over Kotlin? IBM Assembler? Focusing on C++03, with 'advanced' courses touching on 11? Doing our DB course in PHP?)
Of course we could argue if any of this stuff is truly "out of date," and I think learning it all was very valuable (I especially enjoyed by Assembler course, and I know the meme about learning php to get rich.) But I can safely say that the standard undergrad track was great on fundamentals, light on preparing us for the modern job market. Only one instructor even used git/github regularly, for instance.
Why do I bring this up now? Because I barely got any experience with ORMs, with learning very basic concepts using Swift Data for iOS development. Now, as opposed to rawdogging SQL statements in code I have to learn a whole new way of thinking, workflow, and so forth. Which way is superior, well, that seems like something that could be has been argued for years but with things like EFCore, Swift Data, Prisma, etc. all existing, it would've been nice to get some exposure to how they worked! (Don't get me started on not learning much about git/github)
Anyway, after following a tutorial to create a (very) simple ecommerce site/app in Blazor, I'm working on rolling my own FAQ app to eventually probably be turned into an Oqtane module. I'm proud of what I've been able to accomplish in a short time: I started an EFCore fundamentals course last Thursday, took the weekend off, and now I've got a functional R out of CRUD version of the app. It supports multiple 'lists' or 'categories' of Q&As, and multiple Q&As for each list. The magic potion to make it look nice was some out of the box MudBlazor components.
In coming days, I'll finish the EFCore course, and finish the FAQ app, and that's that! I successfully coded, from scratch, the context, models, repositories, etc. and did some migrations, and it all worked like a charm, hooked up to a Postgres instance running in Docker on WSL. That's right, I'm running Postgres on WSL in Docker, hooked up to a windows app... instead of using localDB or Sqlite, because I'm slightly insane, and it's slightly closer to production.
I really like EFCore, and the concept of ORMs in general: I know they aren't perfect and people smarter and more experienced than me could rattle off tons of upsides and downsides to the ORM approach, but I just find the abstraction soooooo convenient and easy to work with, despite there seemingly being more fiddly setup work out of the box than just going straight through the DB with SQL.
So what say you, folks? Are ORMs the future, or old hat? How valuable is working with raw SQL? Is No-SQL the direction we're headed?
Personally, I'm rooting for plaintext files we have to parse in bizarre ways.
Share Your Feedback...
Website and all content ©2025 Jake Fitzenreider
Website powered by Oqtane