Mds.Libraries.CSharp.Updates 5.3.0-beta.58276
Mds.Libraries.CSharp.Updates - пакет для работы с изменениями и их отслеживанием
Задачи пакета
- Средства для обновления в апи,
PartialUpdater - Применение и отмлеживание изменений,
Updater - Синхронизация и импорт,
UpdatesIndex,CollectionsSynchronizerиGroupsSynchronizer
Синхронизация
Объявляем тип реализующий интерфейс IUpdatable.
using Mds.Libraries.CSharp.Updates.Synchronizers.Abstractions;
using Mds.Libraries.CSharp.Updates;
public class ClientSummary : BaseDataType, IUpdatable<ClientSummary>
{
private static readonly MdsUpdater<ClientSummary> updater = new MdsUpdater<ClientSummary>();
public ClientSummary() : base()
{
ExternalId = 0;
Name = string.Empty;
}
public ClientSummary(Client import)
{
ExternalId = import.Id;
Name = import.Name;
}
public long ExternalId { get; set; }
public string Name { get; set; }
// Реализация интерфейса IUpdatable
public bool Update(ClientSummary update)
{
var updates = new Dictionary<string, object>
{
{ nameof(ExternalId), update.ExternalId },
{ nameof(Name), update.Name }
};
return updater.Apply(this, updates);
}
}
Коллекции
В месте, где нам нужна синххронизация коллекции создаем адаптер с указанием уникального свойства.
var adapter = CollectionsSynchronizerBuilder.Build<ClientSummary, long>(s => s.ExternalId);
// При желании можно указать настроки синхронизации
adapter.Settings = new CollectionsSynchronizerSettings
{
ImportMode = ImportMode.Partial
};
Используем адаптер для синхронизации
// Когда синхронизируем все элементы в базе
var index = await adapter.SyncAsync(import, context);
// Когда синхронизируем только определенные элементы
var stored = new List<ClientSummary> { ... };
var index = adapter.Sync(converted, stored);
Переменная index содержит данные для синхронизации: какие элементы надо добавить, какие обновить, какие удалить.
Осталось только сохранить. Система умеет ускоренно (Bulk) сохранять в MSSQL и PostgreSQL
await index.SaveAsync(context);
Showing the top 20 packages that depend on Mds.Libraries.CSharp.Updates.
| Packages | Downloads |
|---|---|
|
Mds.Libraries.CSharp.ChangesBus
Пакет для интеграции шины для обновления сущностей.
|
1 |
|
Mds.Libraries.CSharp.ChangesBus
Пакет для интеграции шины для обновления сущностей.
|
2 |
|
Mds.Libraries.CSharp.Db.Mongo
Пакет для удобной работы с mongoDb.
|
1 |
|
Mds.Libraries.CSharp.Db.Mongo
Пакет для удобной работы с mongoDb.
|
2 |
|
Mds.Libraries.CSharp.Server
Package with tools for server from MedvedStudio.
|
4 |
.NET 7.0
- EFCore.BulkExtensions (>= 7.0.4)
- Mds.Libraries.CSharp.Extensions (>= 2.0.2)
- Microsoft.EntityFrameworkCore (>= 7.0.5)
- Microsoft.EntityFrameworkCore.SqlServer (>= 7.0.5)
- Npgsql.EntityFrameworkCore.PostgreSQL (>= 7.0.4)
| Version | Downloads | Last updated |
|---|---|---|
| 7.0.1 | 3 | 02/28/2026 |
| 6.2.1 | 1 | 02/28/2026 |
| 6.2.0 | 1 | 02/28/2026 |
| 6.2.0-beta.120674 | 1 | 02/28/2026 |
| 6.2.0-beta.107775 | 1 | 02/28/2026 |
| 6.1.1 | 1 | 02/28/2026 |
| 6.1.0 | 1 | 02/28/2026 |
| 6.1.0-beta.106612 | 1 | 02/28/2026 |
| 6.1.0-beta.106605 | 1 | 02/28/2026 |
| 6.1.0-beta.106595 | 1 | 02/28/2026 |
| 6.1.0-beta.106589 | 1 | 02/28/2026 |
| 6.0.1 | 1 | 02/28/2026 |
| 6.0.0 | 1 | 02/28/2026 |
| 6.0.0-beta.99971 | 1 | 02/28/2026 |
| 6.0.0-beta.57258 | 1 | 02/28/2026 |
| 5.4.0 | 1 | 02/28/2026 |
| 5.4.0-beta.103919 | 1 | 02/28/2026 |
| 5.3.0 | 1 | 02/28/2026 |
| 5.3.0-beta.104867 | 1 | 02/28/2026 |
| 5.3.0-beta.71649 | 1 | 02/28/2026 |
| 5.3.0-beta.61482 | 1 | 02/28/2026 |
| 5.3.0-beta.58276 | 1 | 02/28/2026 |
| 5.2.1 | 1 | 02/28/2026 |
| 5.2.0 | 1 | 02/28/2026 |
| 5.2.0-beta.29757 | 1 | 02/28/2026 |
| 5.2.0-beta.29727 | 1 | 02/28/2026 |
| 5.2.0-beta.29724 | 1 | 02/28/2026 |
| 5.2.0-beta.29722 | 1 | 02/28/2026 |
| 5.2.0-beta.29719 | 1 | 02/28/2026 |
| 5.1.0 | 1 | 02/28/2026 |
| 5.1.0-beta.104532 | 1 | 02/28/2026 |
| 5.1.0-beta.18822 | 1 | 02/28/2026 |
| 5.0.3 | 1 | 02/28/2026 |
| 5.0.3-beta.11921 | 1 | 02/28/2026 |
| 5.0.2 | 1 | 02/28/2026 |
| 5.0.2-beta.11265 | 1 | 02/28/2026 |
| 5.0.1 | 1 | 02/28/2026 |
| 5.0.1-beta.105682 | 1 | 02/28/2026 |
| 5.0.0 | 1 | 02/28/2026 |
| 4.5.4-beta.11277 | 1 | 02/28/2026 |
| 4.5.3 | 1 | 02/28/2026 |
| 4.5.2 | 1 | 02/28/2026 |
| 4.5.1 | 1 | 02/28/2026 |
| 4.5.0 | 1 | 02/28/2026 |
| 4.0.3 | 1 | 02/28/2026 |
| 4.0.1 | 1 | 02/28/2026 |
| 4.0.0 | 1 | 02/28/2026 |
| 3.1.3 | 1 | 02/28/2026 |
| 3.1.1.9498 | 1 | 02/28/2026 |