MorphDB.Client 0.12.0

dotnet add package MorphDB.Client --version 0.12.0
                    
NuGet\Install-Package MorphDB.Client -Version 0.12.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MorphDB.Client" Version="0.12.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MorphDB.Client" Version="0.12.0" />
                    
Directory.Packages.props
<PackageReference Include="MorphDB.Client" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MorphDB.Client --version 0.12.0
                    
#r "nuget: MorphDB.Client, 0.12.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MorphDB.Client@0.12.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MorphDB.Client&version=0.12.0
                    
Install as a Cake Addin
#tool nuget:?package=MorphDB.Client&version=0.12.0
                    
Install as a Cake Tool

MorphDB.Client

Official .NET client SDK for MorphDB - a PostgreSQL-based dynamic schema database service.

Installation

dotnet add package MorphDB.Client

Quick Start

using MorphDB.Client;

// Create client
var client = new MorphDBClient("http://localhost:5000", new MorphDBClientOptions
{
    ProjectId = Guid.Parse("your-project-id")
});

// Projects. Everything else works inside one, so this is where a first run starts —
// `client.Projects` is the one surface that does not need a project id to have been set.
var project = await client.Projects.CreateAsync(new CreateProjectRequest { Name = "Catalogue" });
client.SetProjectId(project.Id);

// Schema Management
await client.Schema.CreateTableAsync(new CreateTableRequest
{
    Name = "users",
    Columns = new[]
    {
        new CreateColumnRequest { Name = "name", Type = "text" },
        new CreateColumnRequest { Name = "email", Type = "text", IsUnique = true },
        new CreateColumnRequest { Name = "age", Type = "integer" }
    }
});

// Data Operations
var user = await client.Data.InsertAsync("users", new Dictionary<string, object?>
{
    ["name"] = "John Doe",
    ["email"] = "john@example.com",
    ["age"] = 30
});

// Query with filters
var adults = await client.Data.QueryAsync("users", new QueryRequest
{
    Filters = new[] { new Filter("age", FilterOperator.GreaterThanOrEqual, 18) },
    OrderBy = new[] { new OrderBy("name", ascending: true) },
    PageSize = 10
});

// Real-time subscriptions — changes arrive one at a time, in order, and the next one waits
// for the callback's task, so the callback can await its own work
await client.Realtime.SubscribeAsync("users", async change =>
{
    await store.WriteAsync(change.TableName, change.RecordId, change.Data);
});

// A callback with nothing to await takes the plain form
await client.Realtime.SubscribeAsync("users", change =>
    Console.WriteLine($"Change: {change.Operation} on {change.TableName}"));

Features

  • Projects: Create, read, update and delete projects, and read their storage and health reports
  • Schema Management: Create, alter, and drop tables dynamically
  • Relations: Declare links between tables, enforced on write or declared only
  • Data Operations: CRUD operations with filtering, pagination, and ordering
  • Real-time Subscriptions: WebSocket-based change notifications
  • Bulk Operations: Import/export data in CSV, JSON, and XLSX formats
  • Webhooks: Manage webhook subscriptions for event notifications
  • Type-safe API: Strongly-typed request/response models

Configuration

var options = new MorphDBClientOptions
{
    ProjectId = projectId,
    Timeout = TimeSpan.FromSeconds(30),
    RetryCount = 3,
    RetryDelay = TimeSpan.FromSeconds(1)
};

License

Apache License 2.0

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on MorphDB.Client:

Package Downloads
Formbase.MorphDb

MorphDB adapter for formbase — implements the projection-store port over MorphDB.Client.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.12.0 43 9/13/2026
0.11.1 112 9/7/2026
0.11.0 125 8/31/2026
0.10.0 111 8/20/2026
0.9.1 104 8/3/2026
0.9.0 185 7/22/2026
0.8.0 125 7/22/2026
0.7.1 115 7/21/2026
0.7.0 128 7/21/2026
0.6.0 136 7/19/2026
0.5.1 111 7/19/2026
0.5.0 131 7/17/2026
0.4.0 128 4/3/2026
0.3.1 117 3/23/2026
0.3.0 129 3/3/2026