Hallo, ich bin Pawel Gerr

Ich bin Softwarearchitekt bei der Thinktecture AG mit besonderem Fokus auf verteilte Softwarearchitekturen mit .NET (Core) und Entity Framework (Core) sowie Webanwendungen basierend auf ASP.NET Core und Blazor WebAssembly.

Unsere Kunden unterstütze ich während des Entwurfs, der Implementierung und bei der Performance-Optimierung von modernen Softwarelösungen.

Content Downloads von Pawel

Wir haben für Sie unser Fachwissen in unseren Spezialgebieten in Cheat Sheets, Whitepapers und Ebooks zusammengefasst.

Artikel verfasst von Pawel

.NET
Entity Framework Core: User-defined Fields and Tables

Entity Framework Core: User-defined Fields and Tables

The requirement to store additional fields, unknown at development time, in a relational database is not new. Nonetheless, none of the projects I know of are willing to change the database structure at runtime. What if there is a project which needs dynamically created fields and doesn't want or cannot use entity–attribute–value model or switch to No-SQL databases?
20.09.2022
.NET
Incremental Roslyn Source Generators in .NET 6: Adapt Code Generation Based on Project Dependencies – Part 5

Incremental Roslyn Source Generators in .NET 6: Adapt Code Generation Based on Project Dependencies – Part 5

The Roslyn Source Generator, implemented in the previous articles of the series, emits some C# code without looking at the dependencies of the current .NET (Core) project. In this article our DemoSourceGenerator should implement a JsonConverter, but only if the corresponding library (e.g. Newtonsoft.Json) is referenced by the project.
08.07.2022
.NET
Incremental Roslyn Source Generators in .NET 6: Increasing Performance through Harnessing of the Memoization – Part 4

Incremental Roslyn Source Generators in .NET 6: Increasing Performance through Harnessing of the Memoization – Part 4

In Part 1 of this series we've implemented a simple Incremental Source Generator. Although we looked at all mandatory phases of an IIncrementalGenerator, still, the consideration was quite superficial. One of the biggest advantages of the new API, which makes the Source Generator an incremental one, is the built-in memoization, i.e. caching. To take full advantage from it, we have to make some preparations so Roslyn knows what to cache and how to compare the results of each phase.
10.05.2022
Entity Framework Core
Entity Framework Core: Default Comparer For Byte Arrays May Waste Lots Of Memory And CPU

Entity Framework Core: Default Comparer For Byte Arrays May Waste Lots Of Memory And CPU

The default implementation of Entity Framework Core prefers to play it safe (for good reasons) when working with byte arrays. This 'safety' is - in some use cases - unnecessary and costs us a lot of memory and CPU. In this article, we will see that doing less is sufficient for the given property thanks to one of the most overlooked features of Entity Framework.
24.03.2022
.NET
Incremental Roslyn Source Generators In .NET 6: Testing Source Generators, Analyzers & Code Fixes – Part 3

Incremental Roslyn Source Generators In .NET 6: Testing Source Generators, Analyzers & Code Fixes – Part 3

This article is the 3rd part of a series about Roslyn Source Generators & co. In the 1st article, of this series, we built an Incremental Source Generator to generate a new property Items of a Smart Enum. In the 2nd article, we added a Roslyn Analyzer and a Code Fix to prevent common mistake(s) and to help out the developers when using this Source Generator. All the code we have written so far was tested manually by executing the code and looking at the outcome. It is time to implement some automated tests to ensure the correct behavior.
26.01.2022
.NET
Incremental Roslyn Source Generators In .NET 6: Better Experience Through Roslyn Analyzers & Code Fixes – Part 2

Incremental Roslyn Source Generators In .NET 6: Better Experience Through Roslyn Analyzers & Code Fixes – Part 2

This article is the second part of a series about Roslyn Source Generators & co. In the previous article we built an Incremental Source Generator that extends a custom class by creating and initializing the new property Items. This new property returns all items of a Smart Enum. Although the Source Generator is fully functional, I still don't consider the current state as 'finished'. During implementation of the Source Generator, we made several assumptions, which means the developers must know the internals to use it properly. If the author of the Source Generator is the only consumer of this tool, then we can leave it as it is. If not, then it would be a bold decision to expect others to have the same knowledge as the author. In this case, I highly recommend adding a Roslyn Analyzer to guide the developers in the right direction.
25.01.2022

Kommende Vorträge von Pawel

Geplante Termine für Vorträge finden Sie hier.

Keine Inhalte gefunden

Zurückliegende Vorträge von Pawel

Details zu gehaltenen Vorträgen finden Sie hier.

Talk
  | Pawel Gerr
IT-Tage 2019  | 
09.12.2019   -  
12.12.2019 @  
Frankfurt (
DE)
Talk
  | Pawel Gerr
.NET Developer Conference 2019  | 
25.11.2019   -  
29.11.2019 @  
(
DE)
Talk
  | Pawel Gerr
HerbstCampus 2018  | 
04.09.2018   -  
06.09.2018 @  
Nürnberg (
DE)
Talk
  | Pawel Gerr
.NET Day Franken 2018  | 
27.04.2018   -  
28.04.2018 @  
Nürnberg (
DE)

Anerkennungen & Veröffentlichungen

Unsere Webinare

Unsere Artikel

Mehr über uns