LiteDB - A .NET embedded NoSQL database
An introduction to LiteDB, a lightweight, serverless NoSQL document database for .NET, exploring its features, use cases, and differences from SQL databases.
Steven Giesel is a Senior Software Engineer and Microsoft MVP with over 13 years of experience, specializing in .NET and modern backend development. He shares deep technical knowledge across topics such as C#, EF Core, RavenDB, distributed systems, and cloud-native architectures, and is an active speaker in the .NET community.
311 articles from this blog
An introduction to LiteDB, a lightweight, serverless NoSQL document database for .NET, exploring its features, use cases, and differences from SQL databases.
Explores two unconventional C# patterns: using foreach on integers and awaiting TimeSpans via extension methods.
A collection of C#/.NET programming infographics covering topics like ConfigureAwait, foreach index, struct mutations, null Tasks, and ThrowHelper.
Explores new low-level C# 11 features allowing ref fields in structs for high-performance scenarios like custom collections and frugal objects.
Explains the cryptographic key exchange in HTTPS, focusing on the Diffie-Hellman algorithm for establishing secure connections.
Explains the WebApplicationFactory in .NET for integration testing ASP.NET Core WebAPIs, highlighting its benefits and usage.
A collection of C#/.NET infographics explaining pure functions, generator functions, and the cost of anonymous types.
Explores the differences between x86 and x64 architectures in .NET, covering JIT compilation, native interop, and practical implications for developers.
Explores advanced C# pattern matching features, including null checks, property matching, and type inference, with practical code examples.
Explains pagination concepts, formulas, and implementation in C#/SQL, comparing it to infinite scrolling for efficient data loading.
A guide to structuring Blazor applications using a feature-based folder organization instead of the default template layout.
Explains why async/await in ASP.NET Core improves scalability by freeing worker threads during I/O, not raw performance.
An eBook explaining LINQ (Language Integrated Query) in C# using visual sketches and code samples, with over 30 pages of content.
Explores the new bulk update and delete features in Entity Framework 7, including usage, performance benefits, and limitations.
A review and guide to NDepend, a static code analysis tool for .NET, covering its features, setup, and use for improving code quality.
A visual guide explaining core LINQ functions in C#/.NET with sketches and examples, including Select, Where, Aggregate, and more.
Explains the Mediator pattern and CQRS, demonstrating their implementation and benefits in a C# application using MediatR.
Explains C# logging source code generators in .NET 6, detailing their benefits and usage for efficient, structured logging.
A comparison of four popular Git branching strategies: Git-Flow, GitHub-Flow, GitLab-Flow, and Trunk-Based Development, detailing their pros, cons, and use cases.
A tutorial on improving the user experience of a Blazor WebAssembly app by creating a custom loading screen with a progress bar.