.net

Use IOptions<> for application configuration

Use IOptions for configuration and leverage the additional available interfaces


Read more...


C# Records - the rundown

Not sure what records are? Here's the quick rundown


Read more...


Use the ILogger IsEnabled method

More effective memory usage using ILogger.IsEnabled


Read more...


Structured logging - an introduction

An introduction to what, why and how of structured logging using Serilog


Read more...


Git workflows - explained

Git Flow? GitHub Flow? Flows? This post explains and compares various Git workflows


Read more...


Azure Devops Symbol Server - a how to guide

A guide to using an Azure Devops Symbol Server


Read more...


Dynamic Context (for Entity Framework Core)

A guide to returning projected, anonymous and simple type values dynamically


Read more...


Roslyn Analyzer - tips and tricks (Part 5)

A collection of tips and tricks for writing analyzers


Read more...


Roslyn Analyzer - testing an analyzer and code fix (Part 4)

A step by step guide to testing an analyzer and code fix


Read more...


Roslyn Analyzer - writing the code fix (Part 3)

A step by step guide to writing an analyzer code fix


Read more...


c# (255) .net (255) entityframework (20) ef (17) attribute (13) .net7 (12) sql (10) array (9) performance (9) string (9) roslyn (8) efcore (8) visualstudio (8) dictionary (7) task (7) linq (7) exception (6) list (6) api (6) entity framework (6) tuple (5) constructor (5) enum (5) iteration (5) DI (5) dependencyinjection (5) switch (5) minimalapi (5) ienumerable (5) codefix (5) code fix (5) analyser (5) analyzer (5) guide (5) analyzer-series (5) sourcegenerator (4) async (4) lambda (4) cache (4) lazy (4) interpolation (4) json (4) property (4) C#11 (4) configuration (4) indexer (4) anonymous (4) interface (3) await (3) foreach (3) endpoint (3) collection (3) operator (3) middleware (3) filter (3) flags (3) parallel (3) entityframeworkcore (3) func (3) .net6 (3) efcore6 (3) logging (3) generics (2) delay (2) count (2) length (2) generic (2) conversion (2) cancellation (2) null (2) controller (2) attributes (2) .net8 (2) http (2) query (2) unsafe (2) loop (2) groupby (2) context (2) dynamic (2) distributed (2) datetime (2) delete (2) select (2) init (2) initialization (2) local (2) implicit (2) index (2) new (2) separator (2) jagged (2) querystring (2) pooling (2) sort (2) readonly (2) parameters (2) bulk (2) literals (2) minimal (2) sqlserver (2) nameof (2) disposable (2) idisposable (2) global (2) parameter (2) patternmatching (2) schedule (2) contenttype (2) unittest (2) dbcontext (2) vs (2) database (2) tsql (2) guid (2) action (2) debugging (2) enumeration (2) static (2) goto (2) private (2) concurrentdictionary (2) lock (2) function (2) with (2) syntax (2) methods (2) invoke (2) injection (2) dependency (2) generator (2) extend (2) using (2) github (2) toolkit (1) sourcegeneratortoolkit (1) extensionmethod (1) extension (1) wrapup (1) unmapped (1) arraypool (1) expressionbody (1) comparer (1) ignorecase (1) methodgroup (1) accuracy (1) any (1) all (1) elide (1) name (1) linkgenerator (1) iparseable (1) bind (1) sql2022 (1) distinct (1) mvc (1) startup (1) distinctby (1) stopwatch (1) benchmark (1) converter (1) helpers (1) convention (1) holliday (1) break (1) frozen (1) httpmethod (1) tag (1) ef7 (1) unreachable (1) bytes (1) memory (1) allocated (1) parseable (1) warning (1) compiler (1) featureflag (1) short (1) nullcoalescing (1) associativity (1) preview (1) distributedcache (1) months (1) convert (1) localfunction (1) pattern (1) builder (1) compare (1) comparison (1) add (1) addrange (1) localization (1) targettype (1) capacity (1) record (1) primitive (1) path (1) coalesce (1) lookup (1) tolookup (1) swagger (1) xml (1) documentation (1) filemodifier (1) dataprotector (1) protect (1) math (1) headers (1) binding (1) deserialization (1) utf8jsonreader (1) memorycache (1) statistics (1) newtonsoft (1) jsonconvert (1) datetimeoffset (1) object (1) objectpool (1) httpstatus (1) statuscode (1) type (1) format (1) app (1) run (1) map (1) server (1) addresses (1) features (1) token (1) aot (1) aheadoftime (1) typed (1) stronglytyped (1) expando (1) propertychanged (1) update (1) startupfilter (1) istartupfilter (1) commandline (1) mapping (1) switchmappping (1) taskcompletionsource (1) handler (1) C11 (1) stringliterals (1) lifetime (1) applicationlifetime (1) yield (1) iasyncenumerble (1) struct (1) defaults (1) correlation (1) activity (1) default (1) waitfor (1) formatting (1) outputcache (1) ping (1) ratelimiter (1) ratelimiting (1) iqueryable (1) namespace (1) out (1) delimit (1) arraysegment (1) routehandler (1) virtual (1) polymorphism (1) cast (1) typeof (1) bit (1) enumerable (1) redis (1) messaging (1) pubsub (1) keywords (1) options (1) create (1) interop (1) os (1) over (1) blog (1) hashicorp (1) vault (1) beginner (1) timer (1) interval (1) alignment (1) activatorutilities (1) in (1) modifier (1) deconstruct (1) host (1) required (1) iconfiguration (1) wildcard (1) equality (1) equals (1) testing (1) protected (1) maybenullwhen (1) initializer (1) lowing (1) forloop (1) typeconversion (1) debug (1) config (1) pagination (1) keyset (1) for (1) css (1) html (1) destruct (1) currying (1) layout (1) expandobject (1) tryaddenumerable (1) binary (1) hexadecimal (1) newid (1) nullable (1) chaining (1) xmlcomments (1) collections (1) insert (1) aspnetcore (1) route (1) first (1) single (1) merge (1) snippet (1) temporary (1) files (1) inference (1) integers (1) biginteger (1) selection (1) checked (1) unchecked (1) overflow (1) deterministic (1) directives (1) breakpoint (1) exceptiondispatchinfo (1) failfast (1) finally (1) sealed (1) throw (1) expressions (1) queryfilter (1) interning (1) linebreak (1) coalescing (1) main (1) execution (1) accessing (1) partitioner (1) listpattern (1) slicepattern (1) thread (1) readerwriter (1) atomic (1) interlocked (1) linkedlist (1) conditional (1) numeric (1) check (1) is (1) covariance (1) contravariance (1) offset (1) fetch (1) closure (1) method (1) underscore (1) validity (1) expression (1) switchexpression (1) ducktyping (1) loading (1) debugger (1) display (1) debuggerdisplay (1) tostring (1) delegate (1) incremental (1) incrementalgenerator (1) getenumerator (1) optional (1) system.text.json (1) notifications (1) column (1) order (1) columnorder (1) interceptor (1) interceptors (1) entitytypeconfiguration (1) gc (1) garbagecollection (1) garbage (1) wait (1) directive (1) when (1) metadata (1) call stack (1) channel (1) queue (1) producer (1) consumer (1) deploy (1) scheduler (1) cron (1) valuetuple (1) dailydrop (1) ioptions (1) ioptionssnapshot (1) ioptionsmonitor (1) optionspattern (1) records (1) ILogger (1) structuredlogging (1) serilog (1) structured (1) logger (1) git (1) gitflow (1) githubflow (1) workflow (1) azuredevops (1) nuget (1) devops (1) package (1) symbol (1) symbolserver (1) sourcelink (1) dbset (1) dependency injection (1) rollcall (1) transient (1) singleton (1) scoped (1) multiple implementation (1) implementation (1) multiple (1) ide (1) productivity (1)