Avatar

Giorgi Dalakishvili

World-Class Software Engineer

Biography

I am a software developer with more than a decade of experience. I work mainly with C#, ASP.NET MVC/ASP.NET Core, REST, WCF, Xamarin, Android, iOS, Entity Framework, Azure, SQL Server and Oracle. Top 1% on Stack Overflow and member of Top 3% freelance software developers network.

Open source author and contributor on GitHub

Recent Posts

EntityFramework.Exceptions 3.1.1 - Support for Entity Framework Core 3 and Improved API

In the previous article I introduced EntityFramework.Exceptions, a library which simplifies handling exceptions in Entity Framework Core but the library had one important limitation. In order to use it you had to inherit your custom DbContext from ExceptionProcessorContextBase class. This means that if you wanted to use some other base class for your DbContext you were out of luck. The latest version of the library solves this issue by

Introducing EntityFramework.Exceptions

When using Entity Framework Core for data access all database exceptions are wrapped in DbUpdateException. If you need to know whether the exception was caused by a unique constraint, value being too long or value missing for a required column you need to dig into the concrete DbException subclass instance and check the error number to determine the exact cause.

EntityFramework.Exceptions simplifies this by handling all the database specific details and throwing different exceptions for different cases. All you have to do is

Introducing LINQPad.QueryPlanVisualizer

If you are a heavy LINQPad user you have probably wished to be able to see query execution plan details inside LINQPad. Currently the only way to view query execution plan is to switch to SQL tab, click Analyze SQL button and open the query in SQL Server Management Studio. I got tired of clicking all these buttons and decided to write custom visualizer which solves the issue. With LINQPad.QueryPlanVisualizer you can now view query execution plan and missing indexes as well as create those missing indexes without leaving LINQPad.

Portfolio

Talk Python Training Mobile Apps

Talk Python Training Mobile Apps are mobile apps for Android and Apple for Talk Python Training website. Watch Talk Python Training courses on your device, on the go, or even offline!

Scrubbly

The fastest & easiest desktop list scrubbing application.

Trivia Buff

Did you know that the color orange was named after the fruit? This and many other trivia facts are added daily. All facts are verified and have a corresponding article. Share the amazing facts with your friends or save for later.

Australia on Disc Business Edition

Australia on Disc is an Australia-wide information database providing access to the names, addresses and phone numbers (and much more) of over 1 million+ Australian businesses

Business Online Api

Business Online API is a collection of several REST services for interacting with internet banking platform of Bank of Georgia for corporate customers.

Service calls are done over HTTP protocol. Information can be exchanged in json and xml formats.

Entity Framework Exceptions

Handle database errors easily when working with Entity Framework Core. Supports SQLServer, PostgreSQL and MySql

Idencia

Idencia is a powerful, yet simple to use, Quality Control data collection system for the Manufacturing Industry that works in the Cloud.

LINQPad Query Plan Visualizer

An SQL Server query execution plan visualizer for LINQPad.

LINQPad allows the user to execute LINQ queries, but it has no way to display the query execution plan so I started an open-source plugin for LINQPad which shows the query execution plan.

Contact