{"slug": "ef-core", "name": "EF Core", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 4, "commenters": 5, "warners": 0, "score": 3.715, "rising": -1.31, "first": "2025-11-12", "latest": "2026-08-19", "why": "I was against ORMs until I used EF Core in .NET which I really loved.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 1, "compare": 0, "warn": 0}, "spark": [2, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I was against ORMs until I used EF Core in .NET which I really loved.", "icon": true, "domain": null, "github_repo": null, "official_url": "https://learn.microsoft.com/en-us/ef/core/", "pricing": "", "aliases": ["EF Core"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 780596496, "item_id": 48787281, "url": "https://news.ycombinator.com/item?id=48787281", "by": "pier25", "date": "2026-07-04", "stance": "recommend", "quote": "I was against ORMs until I used EF Core in .NET which I really loved.", "excerpt": "I was against ORMs until I used EF Core in .NET which I really loved. A good ORM is amazing for productivity and when needed you can always write raw SQL. I don't use .NET anymore but lately I've been happy with Drizzle for TS. It's very performant and expressive. After years it seems that they're finally going to release v1.0 soon. Personally I would never go back to writing all my queries with SQL, manually mapping", "context": "", "use_case": "ORM in .NET", "switched_from": "", "story": "What ORMs have taught me: just learn SQL (2014)"}, {"id": 769011377, "item_id": 48063211, "url": "https://news.ycombinator.com/item?id=48063211", "by": "codegeek", "date": "2026-05-08", "stance": "recommend", "quote": "compared to something like EFCore in .NET, they don't come as close", "excerpt": "I love Go. But I prefer .NET for web development that also compiles to a binary and has a great ecosystem of libraries and packages. Go is great if standard library works (and it can for many cases) but when you need to start looking into non standard libraries, Go can hit limitations. For example, to build a full production web application with database in Go, there is no great out of the box migration tool. There a", "context": "", "use_case": "database migrations", "switched_from": "", "story": "Just Fucking Use Go"}, {"id": 736893875, "item_id": 46055867, "url": "https://news.ycombinator.com/item?id=46055867", "by": "littlecranky67", "date": "2025-11-26", "stance": "recommend", "quote": "I use SQLite, EFCore, Minimal APIs and it is a delight", "excerpt": "Modern .NET is awesome. In a small side hustle project, I develop a REST API Backend in C# on my macOS using VSCode, and deploy it to Linux for the past 3 years without any issues. I use SQLite, EFCore, Minimal APIs and it is a delight compared to the frontend part - which is NextJS/React/MaterialUI with 50+ (dev-)packages in npm.", "context": "", "use_case": "ORM for backend", "switched_from": "", "story": "Reinventing how .NET builds and ships (again)"}, {"id": 734387936, "item_id": 45899246, "url": "https://news.ycombinator.com/item?id=45899246", "by": "CharlieDigital", "date": "2025-11-12", "stance": "recommend", "quote": "EF Core itself is worth the price of admission, IMO.", "excerpt": "I'm at a series-C, YC startup. We made a switch from TypeScript to C# two months back. Now we have a team of over a dozen backend engineers working on C# transitioning from TypeScript. 90% are working with C# for the first time. (We are still hiring backend C# engs!) I can say that it has gone waaaaaay smoother than anyone would have thought. This is a decision (language switch) that the team has been putting off for", "context": "series-C YC startup engineer switching from TypeScript to C#", "use_case": "database ORM", "switched_from": "", "story": ".NET 10"}]}], "caveats": [], "who": [{"by": "thatwasunusual", "context": ".NET developer", "url": "https://news.ycombinator.com/item?id=49362632", "date": "2026-08-19"}, {"by": "CharlieDigital", "context": "series-C YC startup engineer switching from TypeScript to C#", "url": "https://news.ycombinator.com/item?id=45899246", "date": "2025-11-12"}], "tags": [], "use_cases": ["database access", "orm in .net", "database migrations", "orm for backend", "database orm"], "compared": [{"slug": "net", "name": ".NET", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "drizzle", "name": "Drizzle", "co": 1, "switched_from": 0, "switched_to": 1}, {"slug": "sqlite", "name": "SQLite", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49361279", "title": "PostgreSQL for Everything", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48742175", "title": "What ORMs have taught me: just learn SQL (2014)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48062997", "title": "Just Fucking Use Go", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46051691", "title": "Reinventing how .NET builds and ships (again)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=45888620", "title": ".NET 10", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 2}, "2025-12": {}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {"recommend": 1}, "2026-06": {}, "2026-07": {"recommend": 1}, "2026-08": {"neutral": 1}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 789802114, "item_id": 49362632, "url": "https://news.ycombinator.com/item?id=49362632", "by": "thatwasunusual", "date": "2026-08-19", "stance": "neutral", "quote": "I use EF Core for database stuff", "excerpt": "It's the other way around for me: as 99% of the stuff I develop is .NET (and I use EF Core for database stuff), I can get away with SQLite for local development, prototyping (and even staging), and then just \"flip a switch\" for it to run on production PostgreSQL. Both are amazing technologies.", "context": ".NET developer", "use_case": "database access", "switched_from": "", "story": "PostgreSQL for Everything"}, {"id": 780596496, "item_id": 48787281, "url": "https://news.ycombinator.com/item?id=48787281", "by": "pier25", "date": "2026-07-04", "stance": "recommend", "quote": "I was against ORMs until I used EF Core in .NET which I really loved.", "excerpt": "I was against ORMs until I used EF Core in .NET which I really loved. A good ORM is amazing for productivity and when needed you can always write raw SQL. I don't use .NET anymore but lately I've been happy with Drizzle for TS. It's very performant and expressive. After years it seems that they're finally going to release v1.0 soon. Personally I would never go back to writing all my queries with SQL, manually mapping", "context": "", "use_case": "ORM in .NET", "switched_from": "", "story": "What ORMs have taught me: just learn SQL (2014)"}, {"id": 769011377, "item_id": 48063211, "url": "https://news.ycombinator.com/item?id=48063211", "by": "codegeek", "date": "2026-05-08", "stance": "recommend", "quote": "compared to something like EFCore in .NET, they don't come as close", "excerpt": "I love Go. But I prefer .NET for web development that also compiles to a binary and has a great ecosystem of libraries and packages. Go is great if standard library works (and it can for many cases) but when you need to start looking into non standard libraries, Go can hit limitations. For example, to build a full production web application with database in Go, there is no great out of the box migration tool. There a", "context": "", "use_case": "database migrations", "switched_from": "", "story": "Just Fucking Use Go"}, {"id": 736893875, "item_id": 46055867, "url": "https://news.ycombinator.com/item?id=46055867", "by": "littlecranky67", "date": "2025-11-26", "stance": "recommend", "quote": "I use SQLite, EFCore, Minimal APIs and it is a delight", "excerpt": "Modern .NET is awesome. In a small side hustle project, I develop a REST API Backend in C# on my macOS using VSCode, and deploy it to Linux for the past 3 years without any issues. I use SQLite, EFCore, Minimal APIs and it is a delight compared to the frontend part - which is NextJS/React/MaterialUI with 50+ (dev-)packages in npm.", "context": "", "use_case": "ORM for backend", "switched_from": "", "story": "Reinventing how .NET builds and ships (again)"}, {"id": 734387936, "item_id": 45899246, "url": "https://news.ycombinator.com/item?id=45899246", "by": "CharlieDigital", "date": "2025-11-12", "stance": "recommend", "quote": "EF Core itself is worth the price of admission, IMO.", "excerpt": "I'm at a series-C, YC startup. We made a switch from TypeScript to C# two months back. Now we have a team of over a dozen backend engineers working on C# transitioning from TypeScript. 90% are working with C# for the first time. (We are still hiring backend C# engs!) I can say that it has gone waaaaaay smoother than anyone would have thought. This is a decision (language switch) that the team has been putting off for", "context": "series-C YC startup engineer switching from TypeScript to C#", "use_case": "database ORM", "switched_from": "", "story": ".NET 10"}]}