SQL Server

.NET Rocks - Visually Debugging EF Queries with Giorgi Dalakishvili

How do you debug your EF queries? Carl and Richard talk to Giorgi Dalakishvili about his open-source Visual Studio extension, EFCore Visualizer.

.NET Conf 2023 - Spatial Data with Entity Framework Core and .NET MAUI

Entity Framework Core is great for performing crud operations, but did you know that you can go beyond basic relational queries with Entity Framework Core? Do you need to store spatial data or find the nearest points of interest to a given location?

JetBrains .NET Day Online ’23 - Beyond Relational with Entity Framework

Entity Framework Core is great for performing crud operations, but did you know that you can go beyond basic relational queries with Entity Framework Core? Do you need to store and query non-structured data in JSON documents? Do you have hierarchical data that you wish to query with Entity Framework Core? Are you required to keep historical information about data that has been modified or maybe even deleted? If you answered Yes to any of the above questions, this is the talk you do not want to miss.

KCDC 2023 - Beyond Relational with Entity Framework

Entity Framework Core is great for performing crud operations, but did you know that you can go beyond basic relational queries with Entity Framework Core? Do you need to store and query non-structured data in JSON documents? Do you have hierarchical data that you wish to query with Entity Framework Core? Are you required to keep historical information about data that has been modified or maybe even deleted? If you answered Yes to any of the above questions, this is the talk you do not want to miss.

.NET fwdays'23 - Beyond Relational with Entity Framework

Entity Framework Core is great for performing crud operations, but did you know that you can go beyond basic relational queries with Entity Framework Core? Do you need to store and query non-structured data in JSON documents? Do you have hierarchical data that you wish to query with Entity Framework Core? Are you required to keep historical information about data that has been modified or maybe even deleted? If you answered Yes to any of the above questions, this is the talk you do not want to miss.

Visualizing Database Query Plans

Learn what a query plan is, how to view EF Core query plan in LINQPad, find missing indexes, and improve performance of your queries.

Updating LINQPad.QueryPlanVisualizer for LINQPad6 And Entity Framework Core

LINQPad.QueryPlanVisualizer is a custom visualizer for LINQPad that shows a database query plan inside LINQPad. It also shows missing indexes for the query that you can create directly from LINQPad. Since then, a new major version, LINQPad 6, was released that targets .NET Core 3 and .NET 5 and uses Entity Framework Core (as well as LINQ-to-SQL) for running Linq queries. To support these changes, I have just released a new version of LINQPad.

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

Entity Framework Exceptions

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

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