Repository Pattern - A controversy explained
Explains the Repository design pattern in C#/.NET, covering its purpose, basic implementation, benefits, and potential drawbacks.
Explains the Repository design pattern in C#/.NET, covering its purpose, basic implementation, benefits, and potential drawbacks.
Entity Framework 8 adds native SQL Server support for .NET's DateOnly and TimeOnly types, eliminating the need for custom converters.
Explains C# 'lowering' - how high-level syntax like foreach and async is transformed into simpler constructs by the compiler.
A tutorial on programmatically manipulating SVG graphics using C# and the Svg NuGet package, including loading, modifying, and rendering them.
Explains why deep code nesting is problematic and demonstrates refactoring techniques like extraction and inversion to reduce complexity in C#.
Explains software cohesion as a metric for refactoring, with a C# example showing how to split a low-cohesion class.
Entity Framework 8 introduces raw SQL queries for unmapped types, reducing boilerplate code for developers.
Explains strategies to handle nullable reference type warnings when deserializing JSON into C# object models, comparing different approaches and their trade-offs.
A tutorial on implementing a simple, reusable pagination solution for Entity Framework using a PagedList class and extension method.
A technical guide on implementing a .NET profiler in C#, focusing on mapping COM objects to .NET instances and using UnmanagedCallersOnly.
Explains the misconception that Tasks in C# are for multithreading, clarifying they represent asynchronous operations, not threads, and are not primarily for performance.
Introduces a .NET tips and tricks website and a high-performance ValueStringBuilder project, showcasing low-allocation string building techniques.
Introducing .NET 7's StringSyntaxAttribute to add semantic meaning to string parameters, enabling better IDE support for regex, dates, and formats.
Explains the new C# 12 feature allowing default parameter values in lambda expressions, with examples and usage in Minimal APIs.
Explains the pitfalls of comparing ReadOnlySpan<char> objects in C#/.NET, highlighting differences from string comparison due to memory representation.
Explains why ref-structs in C# are considered obsolete, focusing on the Obsolete attribute's impact on code coverage and Span usage.
A technical tutorial on how to read emails from Microsoft 365 inboxes using Microsoft Graph API and .NET, including setup and code examples.
A comprehensive guide to the various collection-like types in .NET (C#), explaining their differences, use cases, and best practices for selection.
Explains how to delete a database record in Entity Framework without loading it first, covering both classic and .NET 7+ methods.
An analysis of ChatGPT's capabilities and limitations for .NET and general programming, including code generation accuracy and its impact on platforms like Stack Overflow.