Giorgi Dalakishvili

Giorgi Dalakishvili

Backend Engineer & Software Architect · 3x Microsoft MVP · International Speaker

I’m a backend engineer and software architect with 17+ years of .NET, mostly in banking and fintech: payment and transaction processing, public APIs, and the internal platforms other teams build on. I’ve led teams and a platform unit, and I stay hands-on in the code, increasingly through AI coding agents like Claude Code and Codex.

Alongside that, I build open-source .NET libraries and developer tools with 44M+ NuGet downloads: DuckDB.NET, EntityFramework.Exceptions, EFCore.Visualizer and others. That work sits where .NET meets the database: native interop, Native AOT extensions for DuckDB and PostgreSQL, and tooling that makes query plans easier to debug. I also speak about .NET and databases at conferences like NDC, KCDC and .NET Conf.

Using Reactive Extensions for Streaming Data from Database

How to use Reactive Extensions (Rx) in .NET to run a slow database query in the background and load the results into a grid in chunks.

avatar
Giorgi Dalakishvili
•

Building Expression Evaluator with Expression Trees in C# – Part 3

Part 3 of the series: adding support for variables to the C# expression evaluator with Expression.Parameter and compiled lambdas.

avatar
Giorgi Dalakishvili
•

Building Expression Evaluator with Expression Trees in C# – Part 2

Part 2 of the series: rewriting the C# expression evaluator with the shunting-yard algorithm and adding support for parentheses.

avatar
Giorgi Dalakishvili
•

Building Expression Evaluator with Expression Trees in C# – Part 1

Part 1 of the series: a basic mathematical expression evaluator in C# built with expression trees, developed test by test.

avatar
Giorgi Dalakishvili
•

Building Expression Evaluator with Expression Trees in C# – Table of Contents

Table of contents for a four-part series on building a mathematical expression evaluator in C# with expression trees.

avatar
Giorgi Dalakishvili
•

Dynamic ViewState in ASP.Net WebForms – Part 2

An improved DynamicViewState for ASP.NET Web Forms: fully compatible with StateBag, available as a NuGet package, with performance benchmarks.

avatar
Giorgi Dalakishvili
•

Dynamic ViewState in ASP.Net WebForms

How to build a ViewBag-style dynamic wrapper around ViewState in ASP.NET Web Forms with DynamicObject, so you can drop string keys and casts.

avatar
Giorgi Dalakishvili
•

AppDomain.AssemblyResolve Event Tips

Tips for handling the AppDomain.AssemblyResolve event in .NET: parsing assembly names, handling repeated calls and avoiding FileNotFoundException.

avatar
Giorgi Dalakishvili
•

Silverlight slideshow with remote control and windows taskbar support

Build a Silverlight out-of-browser slideshow that responds to a remote control and Windows 7 taskbar buttons with Native Extensions for Silverlight.

avatar
Giorgi Dalakishvili
•

How to Get Elevated Process Path in .Net

Process.MainModule.FileName throws for elevated processes. Here is how to get the process path in .NET with QueryFullProcessImageName instead.

avatar
Giorgi Dalakishvili
•

Bugs in System.Diagnostics.Process Class

Process.StartTime and Process.HasExited throw an access denied Win32Exception for elevated processes. Here is why it happens and how to work around it.

avatar
Giorgi Dalakishvili
•