
Implementing database synchronization with entity framework core
Ok, so far, our synchronization framework is only implemented for an in-memory database that we use for testing purposes. Now let’s implement a different use case, lets add synchronization functionality to an entity framework core DbContext. As I explained before, the...

SyncFramework – Adding network support
So far, all our test exists inside the same process, so they communicate through variables, in real-life scenarios nodes won’t exist in the same process and most of the time not even in the same location. The easiest and most standard way to implement client-server...

SyncFramework – Planning the first implementation
Well, it's time to create our first implementation, first, we need a place to store the deltas generated in the process of tracking changes in a data object. To keep the Implementation simple, we will create a delta store that saves the deltas in memory. This delta...

Synchronization Framework Base Classes
Now that we have defined the bases contracts necessary for synchronization, we can define some base classes that implement those contracts, the main idea behind these base classes is to, later on, add the possibility to inject configurations with .net dependency...

Let’s write a Synchronization Framework in C#
Ok in the last post we defined the conceptual parts of a synchronization framework, now let’s create the code that represents those parts Delta https://github.com/egarim/SyncFramework/blob/main/src/BIT.Data.Sync/IDelta.cs /// <summary> /// Represents a...

Parts of a Synchronization Framework
In the last post, we talked about what are deltas and how by using them we can synchronize data structures. So, in this post, I will describe the necessary parts needed to implement Delta-based synchronization, let’s start Data Object: any database, object, graph, or...