SapphireDb 3.0.0
See the version list below for details.
dotnet add package SapphireDb --version 3.0.0
NuGet\Install-Package SapphireDb -Version 3.0.0
<PackageReference Include="SapphireDb" Version="3.0.0" />
<PackageVersion Include="SapphireDb" Version="3.0.0" />
<PackageReference Include="SapphireDb" />
paket add SapphireDb --version 3.0.0
#r "nuget: SapphireDb, 3.0.0"
#:package SapphireDb@3.0.0
#addin nuget:?package=SapphireDb&version=3.0.0
#tool nuget:?package=SapphireDb&version=3.0.0
SapphireDb - Server for Asp.Net Core 
SapphireDb is a self-hosted, easy to use realtime database for Asp.Net Core and EF Core.
It creates a generic API you can easily use with different clients to effortlessly create applications with realtime data synchronization. SapphireDb should serve as a self hosted alternative to firebase realtime database and firestore on top of .Net.
Check out the documentation for more details: Documentation
Features
- 🔧 Dead simple configuration
- 📡 Broad technology support
- 💻 Self hosted
- 📱 Offline support
- 💾 Easy to use CRUD operations
- ⚡ Model validation
- ✔️ Database support
- 📂 Supports joins/includes
- ➿ Complex server evaluated queries
- 🔌 Actions
- 🔑 Authorization included
- ✉️ Messaging
- 🌐 Scalable
Installation
Install package
To install the package execute the following command in your package manager console
PM> Install-Package SapphireDb
You can also install the extension using Nuget package manager. The project can be found here: https://www.nuget.org/packages/SapphireDb/
Configure DbContext
You now have to change your DbContext to derive from SapphireDbContext.
// Change DbContext to SapphireDbContext
public class MyDbContext : SapphireDbContext
{
  public MyDbContext(DbContextOptions<MyDbContext> options) : base(options)
  {
  }
  public DbSet<User> Users { get; set; }
  public DbSet<Test> Tests { get; set; }
}
Register services and update pipeline
To use the SapphireDb you also have to make some changes in your Startup.cs-File.
public class Startup
{
  public void ConfigureServices(IServiceCollection services)
  {
    //Register services
    services.AddSapphireDb(...)
      .AddContext<MyDbContext>(cfg => ...);
  }
  public void Configure(IApplicationBuilder app)
  {
    //Add Middleware
    app.UseSapphireDb();
  }
}
Examples
Server
Client
Documentation
Check out the documentation for more details: Documentation
Implementations/Packages
Server
SapphireDb - Server for Asp.Net Core
Client
sapphiredb - JS client (JS, NodeJs, React, Svelte, ...)
ng-sapphiredb - Angular client
Author
Licenses
SapphireDb - MIT License
sapphiredb-js - MIT License
| Product | Versions Compatible and additional computed target framework versions. | 
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. | 
| .NET Core | netcoreapp3.1 is compatible. | 
- 
                                                    .NETCoreApp 3.1- Microsoft.AspNetCore.Authorization (>= 3.1.1)
- Microsoft.AspNetCore.Http (>= 2.2.2)
- Microsoft.AspNetCore.Http.Features (>= 3.1.1)
- Microsoft.AspNetCore.WebSockets (>= 2.2.1)
- Microsoft.EntityFrameworkCore (>= 3.1.1)
- Newtonsoft.Json (>= 12.0.3)
 
NuGet packages (2)
Showing the top 2 NuGet packages that depend on SapphireDb:
| Package | Downloads | 
|---|---|
| SapphireDb.RedisSync Redis sync module for SapphireDb | |
| SapphireDb.HttpSync Http sync module for SapphireDb | 
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | 
|---|---|---|
| 3.1.8-alpha | 1,182 | 6/16/2021 | 
| 3.1.7-alpha | 1,147 | 3/10/2021 | 
| 3.1.6-alpha | 1,110 | 3/9/2021 | 
| 3.1.5-alpha | 1,355 | 10/26/2020 | 
| 3.1.4-alpha | 1,230 | 10/26/2020 | 
| 3.1.3-alpha | 1,152 | 10/26/2020 | 
| 3.1.2-alpha | 1,178 | 10/26/2020 | 
| 3.1.1-alpha | 1,256 | 8/2/2020 | 
| 3.1.0-alpha | 1,172 | 8/2/2020 | 
| 3.0.0 | 20,222 | 7/25/2020 | 
| 2.2.1 | 1,268 | 7/22/2020 | 
| 2.2.0 | 1,963 | 6/20/2020 | 
| 2.1.3 | 1,336 | 4/4/2020 | 
| 2.1.2 | 1,392 | 4/3/2020 | 
| 2.1.1 | 1,311 | 3/24/2020 | 
| 2.1.0 | 1,613 | 3/21/2020 | 
| 2.0.0 | 1,322 | 2/24/2020 | 
| 1.5.0 | 1,339 | 2/18/2020 | 
| 1.4.0 | 1,374 | 2/8/2020 | 
| 1.3.0 | 1,335 | 1/21/2020 | 
| 1.2.0 | 1,325 | 1/15/2020 | 
| 1.1.6 | 1,268 | 1/13/2020 | 
| 1.1.5 | 1,368 | 1/7/2020 | 
| 1.1.4 | 1,361 | 1/7/2020 | 
| 1.1.3 | 1,297 | 1/6/2020 | 
| 1.1.1 | 1,371 | 1/4/2020 | 
| 1.1.0 | 1,410 | 1/3/2020 | 
| 1.0.7 | 1,345 | 1/2/2020 | 
| 1.0.6 | 1,402 | 12/27/2019 | 
| 1.0.5 | 1,310 | 12/22/2019 | 
| 1.0.4 | 1,328 | 12/18/2019 | 
| 1.0.3 | 1,298 | 12/9/2019 | 
| 1.0.2 | 1,188 | 12/8/2019 | 
| 1.0.1 | 1,262 | 12/8/2019 | 
| 1.0.0 | 1,326 | 12/4/2019 |