private void StoreSnapshotImpl <TSnapshot>(SqliteContext context, TSnapshot snapshot) where TSnapshot : EntitySnapshot
        {
            var snapshotSet = context.GetSnapshotSet <TSnapshot>();

            if (snapshotSet.Any(e => e.EntityID == snapshot.EntityID))
            {
                context.Update(snapshot);
            }
            else
            {
                context.Add(snapshot);
            }
        }
 private void StoreSnapshotsImpl(SqliteContext context, IEnumerable <EntitySnapshot> snapshots)
 {
     foreach (var snapshot in snapshots)
     {
         var dbSnapshot = context.Find(snapshot.GetType(), snapshot.EntityID);
         if (dbSnapshot != null)
         {
             context.Update(snapshot);
         }
         else
         {
             context.Add(snapshot);
         }
     }
 }