Skip to content
CWChris Woody
Woodruff
  • Home
  • Services
    • Fractional Architect
    • Expert Witness
    • Micro-Consulting
    • Project-Based Contracts
    • Agentic Developer Relations
    • Advisory & Board Roles
  • Portfolio
  • Press & Media
  • Blog & Insights
  • Training
  • Network
    • Simplicity-First↗
    • Agentic Developer Relations↗
  • About
Let's work →
Tag

Databases

33 articles.

AllRust 53Genetic Algorithms 36EF Core 34htmx 22Terraform 22Patterns 18HTTP & REST 14Network Programming 13Blog 11Business & Software 8Simplicity-First 2AI 1C# 1Developer Experience 1Fun Tech 1Network Programming 1Speaking 1
EF CoreJul 7, 202619 min read

The N+1 Query Problem in EF Core: Detection, Diagnosis, and Permanent Fixes

An order summary page renders in 40 milliseconds against your development database. The same page takes eleven seconds in production. You open the profiler, and the controller method looks clean. You…

EF CoreJul 2, 202613 min read

Add vs AddRange in EF Core: The Performance Myth You Need to Stop Repeating

Somebody told you never to call Add() in a loop. Maybe it was a senior developer during code review. Maybe it was a Stack Overflow answer with four hundred upvotes. Maybe it was a blog post that…

EF CoreJul 1, 202613 min read

5 EF Core Performance Anti-Patterns That Entity Framework Extensions Eliminates

The Code You Already Wrote Every .NET team has at least one of these in production. It looked fine in review. It passed unit tests. It worked in staging against the seed data. Then real traffic hit…

EF CoreJun 25, 202612 min read

BulkSynchronize in EF Core: Mirror Your Data in One Operation

The Function Everyone Has Written, Nobody Loves If your codebase has a method called something like SyncProducts(), RefreshMetrics(), or UpdateFromFeed(), it probably looks something like this: It…

EF CoreJun 23, 202611 min read

Scaling EF Core for Data Imports: From CSV Files to Millions of Database Rows

The Import Job Nobody Wants to Own Every team has one. It might be called an import service, a feed processor, or a sync job. The name varies. What stays constant is the shape of the problem: a large…

EF CoreJun 18, 202614 min read

BulkMerge (Upsert) in EF Core: How to Insert-or-Update Without the Headache

Picture this. Your inbox lights up at 7:14 AM. A supplier just pushed 50,000 product records to your endpoint. Half are new. The other half are updates to products already sitting in your database.…

EF CoreJun 2, 20267 min read

Pagination in EF Core, Continued: Sortable Grids, htmx, and the Indexing Cost

The first post in this series made a clean case for keyset pagination over Skip/Take. Readers on LinkedIn pushed back with a fair question I’d dodged: what about sortable grids where the user picks…

EF CoreMay 30, 20267 min read

Pagination in Entity Framework Core: Why Skip/Take Falls Apart on Hot Tables

If you’ve built an ASP.NET Core API or list view backed by Entity Framework Core, you’ve almost certainly written something like this: It works. It matches the page-number UI most users expect. Every…

EF CoreMay 25, 202615 min read

EF Core Bulk Insert: The Complete Guide to Inserting Thousands of Rows Without the Wait

This post is sponsored by ZZZ Projects. You have written this loop. Every .NET developer has. It looks fine in a code review. It passes unit tests. It works against your local database with 200…

EF CoreApr 8, 20268 min read

How to Delete and Update Millions of Rows in EF Core Without Loading a Single Entity

This post is sponsored by ZZZ Projects. The Code Every Developer Has Written and Regretted Most EF Core performance disasters are not exotic edge cases. They get written in the first sprint, look…

EF CoreDec 4, 20256 min read

Debugging Entity Framework Core: 8 Real-World Query Anti‑Patterns (and How to Fix Them)

This is my post for the 2025 C Advent. Check out all the great posts! I want to wish you a Merry Christmas, Happy Holidays, Happy Hanukkah, Happy Kwanzaa, and, finally…

EF CoreFeb 15, 20253 min read

Temporal Tables in EF Core: Bringing Time Travel to Your Data

What if you could go back in time and see exactly what your database looked like yesterday, last week, or even last year? Sounds like something out of a sci-fi movie…

EF CoreFeb 14, 20253 min read

JSON Columns in SQL Server: Storing & Querying JSON with EF Core

Ever wished you could store semi-structured data in your database without dealing with complex table relationships? Good news! SQL Server has native JSON support, and…

EF CoreFeb 13, 20253 min read

Keyless Entity Types in EF Core: Query Data Without Primary Keys

Not everything in your database needs a primary key. Sometimes, you just want to query views, stored procedures, or raw SQL results without forcing a unique identifier…

EF CoreFeb 12, 20253 min read

Grouping Smarter: LINQ GroupBy Enhancements in EF Core

Grouping data in Entity Framework Core (EF Core) used to feel a little… clunky. Sometimes, LINQ’s GroupBy() worked beautifully in-memory but got lost in translation when…

EF CoreFeb 11, 20253 min read

Transactional Savepoints in EF Core: Rollback Just What You Need!

We’ve all been there—you’re halfway through a multi-step transaction, and boom! 💥 Something fails. You don’t want to roll back everything, just the part that went…

EF CoreFeb 10, 20253 min read

Tapping into Database Views with EF Core: Reverse Engineering Made Easy

Not all database tables are created equal! Sometimes, you don’t need direct access to raw data—you need a refined, read-only version that makes querying easier. That’s…

EF CoreFeb 9, 20253 min read

Mapping the World with EF Core: Working with Spatial Data

Have you ever needed to store coordinates, track locations, or perform distance calculations in your database? Whether you're building a ride-sharing app, a…

EF CoreFeb 8, 20253 min read

Unlocking EF Core Performance: How to Track Queries with Event Counters

If you've ever wondered why your EF Core queries feel sluggish or why your database is working overtime, you're not alone. Performance issues can creep in quietly, and…

EF CoreFeb 7, 20254 min read

Cracking the Code: Decoding Query Plans Like a Pro

Ever tried reading a treasure map that looks more like a kid’s doodle? That’s what SQL query plans feel like at first glance—cryptic, overwhelming, and maybe a little…

EF CoreFeb 6, 20252 min read

Tracking Every Change: Using SaveChanges Interception for EF Core Auditing

Ever wonder who changed what and when in your database? Or maybe you’ve had that “uh-oh” moment where data was updated, but no one knows how? Good news: EF Core has a…

EF CoreFeb 5, 20252 min read

Many-to-Many Made Easy: Mastering Relationships in EF Core

Remember when dealing with many-to-many relationships in Entity Framework felt like trying to assemble IKEA furniture without instructions? You needed an extra join…

EF CoreFeb 3, 20253 min read

Query Tags: Debugging EF Core Like a Detective

Imagine you’re a detective working on a big case. You’ve got a pile of clues (queries), but they’re all mixed together with no labels. Which one belongs to which part of…

EF CoreFeb 2, 20253 min read

Global Query Filters: Setting the Rules Once, Querying Like a Pro

Imagine you’re running a café. Every customer who walks in gets a free cookie—no need to ask for it, no need for your staff to remember. It just happens automatically.…

EF CoreFeb 1, 20253 min read

Batching Updates and Inserts: Making EF Core Work Smarter, Not Harder

Let’s face it: making multiple database calls is like running back and forth between the kitchen and dining room to serve dinner one plate at a time. It’s inefficient…

EF CoreJan 31, 20253 min read

No-Tracking Queries: Speed Up Your EF Core Like a Pro

Imagine you’re at a library, flipping through books at lightning speed. You don’t need to write notes in the margins or keep tabs on which books you’ve touched—you’re…

EF CoreJan 30, 20253 min read

Query Projection: Stop Hauling More Data Than You Need!

Imagine you’re moving to a new house. You could pack only the essentials and enjoy a stress-free move, or you could drag everything you own—grandma’s old lamp, that…

EF CoreJan 29, 20253 min read

Explicit Includes: The Art of Fetching Just Enough Data in EF Core

If you’ve ever gone grocery shopping while hungry, you know how easy it is to end up with more than you need. The same thing happens in EF Core when you’re too eager…

EF CoreJan 28, 20253 min read

Split Queries: Stop the Data Traffic Jam in EF Core

Picture this: You’re hosting a dinner party, and instead of serving everyone a delicious buffet, you deliver each dish one at a time to every guest. When dessert…

EF CoreJan 27, 20253 min read

FromSql: Writing SQL Like a Boss in EF Core

So, you’ve embraced Entity Framework Core, and life’s been good. No more handcrafting SQL for every little query. But what happens when EF Core’s LINQ magic isn’t…

EF CoreJan 26, 20253 min read

Compiled Models: The Fast Lane for EF Core Performance

Let’s talk about startup time. Not the Silicon Valley kind, but the time it takes for your EF Core app to boot up, stretch its legs, and actually start handling…

EF CoreJan 25, 20252 min read

DbContext Pooling: The Secret Sauce to Faster EF Core Apps

Imagine you’re running a restaurant. Every time a customer orders, you buy a brand-new frying pan, use it once, and toss it out. Sounds absurd, right? But that’s…

EF CoreFeb 7, 20234 min read

Accelerating EF Core with Compiled Queries

We are surrounded by data, but starved for insights. Jay Baer One of my passions is data! I love all forms of data and how to work with it. I am a .NET fanatic also and…

CWChris Woody
Woodruff

Fractional Architect · Strategic Advisor · Expert Witness

  • LinkedIn
  • GitHub
  • YouTube
  • Bluesky
  • Mastodon
  • RSS

Services

  • Fractional Architect
  • Expert Witness
  • Micro-Consulting
  • Project-Based Contracts
  • Agentic Developer Relations
  • Advisory & Board Roles

Navigate

  • Home
  • Portfolio
  • Press & Media
  • Blog & Insights
  • Training
  • About
  • Contact

Network

  • Simplicity-First ↗
  • Agentic Developer Relations ↗

Contact

  • chris@woodruff.dev
  • +1 616.724.6885
  • Wyoming, MI 49418

© 2026 Christopher Woodruff. All rights reserved.

Download CV