Tired of writing the same class scaffolding over and over? Annoyed by how much time you spend on "glue code" instead of actual features? You're not alone. Imagine if the C# compiler does this on your behalf every time, perfectly. Let me introduce you to C# ...
Are you tired of debugging vague errors or overusing try-catch? Traditional exception-based workflows can be messy, highly compromising code readability and maintainability. In this post, I will introduce you to Result<T> and OneOf<T>. Two powerful patterns that make success and failure contracts explicit. Whether ...
C# is a robust OOP language that provides the foundation for building almost every application with .NET. As a C# developer, you are likely familiar with its fundamentals. However, like any legacy technology, it holds more depth to explore and enhance your code's maintainability and beauty. In this ...
As developers, we often fall into common pitfalls that impact the performance, security, and scalability of our applications. From neglecting data validation to overengineering, and from ignoring async/await to mishandling resource disposal, even experienced C# developers can make these mistakes. In this post, I've gathered some of ...
You've likely used IEnumerable<T> with EF Core while fetching data from a database. However, have you ever wondered how it loads data from your data set, and if IEnumerable will work fine when the application grows? To find answers, I will break down the core ...
JavaScript Object Notation (JSON) is a great fit when you are working with logs, configuration settings, or other flexible data structures. JSON represents data in a human-readable format that many modern applications can parse easily. In this article, you will learn how to store and manage JSON data in relational ...
What does your application actually do with a record when a user deletes it? Can your application afford to delete a record permanently? One mistake can result in irreparable damage to the application. Today, I will shed light on D of the CRUD. Among all the CRUD operations, Delete is ...
As C# developers, we sometimes must interact dynamically with objects, fields, properties, methods, or types. Use cases such as inter-mapping between types, traversing model properties, developing an extensible system, injecting dependencies, etc., demand runtime handling. You may wonder how to tackle such scenarios. In this post, I will show you ...
APIs are the heart of most modern applications. Due to their simplicity and lightweight design, RESTful APIs are a popular choice for client-server communication in most applications. However, APIs can become limiting when fetching complex or related data. The front end may over-fetch or under-fetch the meaningful data. For example, ...