shiny-documentdb

Bridge relational data and JSON document storage for .NET apps.

152|15|Updated Oct 6, 2022
One-click install
npx skills add https://github.com/shinyorg/templates --skill shiny-documentdb
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: shiny-documentdb
Source: https://github.com/shinyorg/templates/tree/main/ProjectTemplates/ShinyApp/skills/shiny-documentdb
Command: npx skills add https://github.com/shinyorg/templates --skill shiny-documentdb

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

The Shiny.DocumentDb skill enables developers to generate and configure a .NET-based, schema-free JSON document store across multiple providers (SQLite, SQLCipher, MySQL, SQL Server, PostgreSQL), eliminating the need for rigid relational schemas when storing and querying objects with LINQ.

Core Features & Use Cases

  • Supports multi-provider document storage with full AOT/trimming support and LINQ querying.
  • Provides DI extensions and provider abstractions to switch databases without changing code, plus features like MapTypeToTable, custom Id properties, and JSON-based projections.
  • Use cases include building portable, schema-free persistence layers in .NET applications, enabling type-safe document storage and rich querying across providers.

Quick Start

Instantiate a DocumentStore with a chosen provider (SQLite, MySQL, SQL Server, PostgreSQL), map your domain types, and perform an initial insert to verify setup.

Frequently Asked Questions about shiny-documentdb

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I store JSON documents in a .NET app without a rigid relational schema?

To store JSON documents in a .NET app without a rigid relational schema, you can use a schema-free document store that bridges relational data and JSON storage. This enables type-safe persistence and LINQ querying across multiple database providers without defining fixed tables.

Can I use LINQ to query JSON document storage across SQLite, MySQL, and PostgreSQL?

Yes, you can use LINQ to query JSON document storage across SQLite, MySQL, and PostgreSQL. A provider-agnostic setup with MapTypeToTable and DI extensions allows you to switch databases without changing code, ensuring consistent querying behavior across providers.

What is the best way to configure a multi-provider document store in .NET?

The best way to configure a multi-provider document store in .NET is by using provider abstractions and DI extensions. You instantiate a DocumentStore with your chosen provider, map domain types with MapTypeToTable, and use custom Id properties for consistent cross-database behavior.

Does this .NET document store support AOT compilation and trimming?

Yes, this .NET document store supports full AOT compilation and trimming. It uses AOT-ready serialization for JSON projections, ensuring the schema-free persistence layer remains compatible with ahead-of-time compilation requirements in .NET applications.

How do I set up custom Id properties and type mapping for a .NET JSON document store?

To set up custom Id properties and type mapping for a .NET JSON document store, you use MapTypeToTable during configuration. This maps your domain types to the underlying storage while allowing custom Id properties to ensure consistent document identification across SQLite, SQLCipher, MySQL, SQL Server, and PostgreSQL.