Efficient EF deletion
Exploring a more efficient method to perform deletes in Entity Framework
Succinct initialization pattern
Succinct lazy initialization patterns with newer C# features
Local functions and attributes
Since C#9, local functions are permitted to be decorated with attributes
Builder pattern implicit conversions
Leveraging implicit conversions to make using the builder pattern easier
Foreach loops and indexes
Using a tuple to keep track of an item index in a foreach loop
String comparison with StringComparer
Using StringComparer.OrdinalIgnoreCase.Equals to compare strings instead of ToLower
List AddRange performance
Comparing the performance of the List AddRange and Add methods
Awaiting anything with GetAwaiter
Using a GetAwaiter extension method to await any type