Navigation properties make database calls look like property access. The query fires, the change tracker updates records, the cartesian product bloats the result — none of it visible at the call site. This note covers why I use foreign key IDs instead.
Dec 11 2025.NET
- Navigation properties make database calls invisible
- Handling Enum Values as Strings in C# API Models
A practical pattern for working with enums in API request models - storing as strings while keeping type-safe enum logic throughout your codebase.
Oct 19 2025 - Property Getters vs Get Methods: When to Use Which
A detailed guide on choosing between property getters and get methods in object-oriented programming, with practical examples and best practices for API design.
Oct 14 2025 - Serilog Correlation IDs for background tasks in .NET Core
How to implement and manage correlation IDs in background tasks using Serilog in .NET Core applications for better logging traceability.
Mar 23 2025 - Overriding services ASP.NET Core integration tests using ConfigureTestServices
Learn how to effectively override services in ASP.NET Core integration tests using ConfigureTestServices, with practical examples and testing patterns.
Aug 11 2023 - Test-specific AppSettings configuration in ASP.NET Core integration tests
How to properly configure and manage test-specific application settings in ASP.NET Core integration tests, ensuring isolated and reliable test environments.
Aug 10 2023 - Dynamic SQL queries: string concatenation vs SqlKata
A comparison of approaches to building dynamic SQL queries in .NET applications, contrasting string concatenation with SqlKata's query builder for safer and more maintainable code.
Jan 23 2023 - Type-safe appsettings configuration in .NET Core
Implementing strongly-typed configuration in .NET Core applications with built-in validation, using options pattern and data annotations.
Jan 8 2023 - ASP.NET MVC5 Feature Folders Structure
How to organize ASP.NET MVC5 projects using feature folders for better maintainability and separation of concerns, with practical examples and implementation details.
May 27 2016 - Rhino Security and StructureMap Integration Guide (Archive, 2015)
A comprehensive guide to integrating Rhino Security with StructureMap in .NET applications for robust security management.
Jan 11 2015 - .NET Database Development with FluentMigrator (Archive, 2014)
A comprehensive guide on implementing database versioning with FluentMigrator in .NET projects, including automated migrations, version control integration, and cross-database provider support.
Dec 12 2014