Use IOptions<> for application configuration
Use IOptions for configuration and leverage the additional available interfaces
Use the ILogger IsEnabled method
More effective memory usage using ILogger.IsEnabled
Structured logging - an introduction
An introduction to what, why and how of structured logging using Serilog
Git workflows - explained
Git Flow? GitHub Flow? Flows? This post explains and compares various Git workflows
Azure Devops Symbol Server - a how to guide
A guide to using an Azure Devops Symbol Server
Dynamic Context (for Entity Framework Core)
A guide to returning projected, anonymous and simple type values dynamically
Roslyn Analyzer - tips and tricks (Part 5)
A collection of tips and tricks for writing analyzers
Roslyn Analyzer - testing an analyzer and code fix (Part 4)
A step by step guide to testing an analyzer and code fix
Roslyn Analyzer - writing the code fix (Part 3)
A step by step guide to writing an analyzer code fix
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)