The Datasync Community Toolkit is a collection of libraries that implement a client-server system used for synchronizing data from the database table. The Datasync Community Toolkit is a member of the Community Toolkit organization and published under the dotnet Foundation.
Currently, the library supports:
- Server: ASP.NET 8 or later
- Client: .NET 8 or later
The client platforms that have been tested include:
- Avalonia UI
- .NET MAUI
- Uno Platform
- Windows Presentation Framework (WPF)
- Windows UI Library (WinUI) 3
We support most databases that are supported by Entity Framework Core, along with an in-memory store and LiteDb. Support for additional database types is easily added through our flexible repository pattern.
Other platforms may work, but have not been tested.
Please take a look at the tutorials included in our documentation.
You can easily get started by using the dotnet new
command to create a new datasync server. The template pre-configured ASP.NET Core,
Entity Framework Core, and the Datasync server libraries. To install the template:
dotnet new -i CommunityToolkit.Datasync.Server.Template.CSharp
To create a project:
mkdir My.Datasync.Server
cd My.Datasync.Server
dotnet new datasync-server
The following NuGet packages have been published:
The test suite for the library includes "live tests" against real servers that are not normally run. To run those tests, you will need access to an Azure account (you can sign up for one for free):
- Install the Azure Developer CLI
- Run
azd up
in a command line.
This script will create several resources. The cost of running those resources is approximately $40/month (US dollars). However, you will only have
to run the services for less than an hour, so the cost of testing the library should be minimal. The process will create a .runsettings
file in the
tests directory which you can use to enable the live testing.
Live testing can be run using the Visual Studio Test Explorer or via dotnet test
.
Once you have completed running the tests, you can remove the created services using azd down
. This will also remove the .runsettings
file so that
live tests are not attempted any more.
NOTE: The
.runsettings
file contains secrets. It should not be checked in. We have added this file to the.gitignore
to ensure that it is not checked into public GitHub repositories.
Read what we plan for next iterations, and feel free to ask questions.
We welcome community contributions. Check out our contributing guide to get started.
This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.
This project is supported by the .NET Foundation.
The Datasync Toolkit used to be known as Azure Mobile Apps. You can find the code for previous (unsupported) versions of the library at the old repository.