YesSql 5.0.0-beta-0001

This is a prerelease version of YesSql.
There is a newer version of this package available.
See the version list below for details.
dotnet add package YesSql --version 5.0.0-beta-0001                
NuGet\Install-Package YesSql -Version 5.0.0-beta-0001                
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="YesSql" Version="5.0.0-beta-0001" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add YesSql --version 5.0.0-beta-0001                
#r "nuget: YesSql, 5.0.0-beta-0001"                
#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.
// Install YesSql as a Cake Addin
#addin nuget:?package=YesSql&version=5.0.0-beta-0001&prerelease

// Install YesSql as a Cake Tool
#tool nuget:?package=YesSql&version=5.0.0-beta-0001&prerelease                

YesSql

A .NET document database interface for relational databases, because in SQL we (still) trust !

Build NuGet MyGet

How does it work ?

YesSql is a .NET Core document database interface over relational databases which allows you to define documents and indexes using plain old CLR objects. The main difference with document databases is that it uses any RDBMS to store them, which gives you all the power of SQL databases like transactions, replication, reporting, ... But the main advantage might be that there is no magic involved, it's pure SQL !

A video about YesSql was recorded and is available here https://www.youtube.com/watch?v=D42eK6CJjF4

FAQ

Aren't NoSQL databases also about map/reduce ?

YesSql has support for it too. There is a sample project in the source code, and you'll see that map/reduce is fully supported by looking at the tests.

How is the database structured ?

There is a global [Document] table. Each index is a custom class which has its own table. A reduce index also adds a bridge table in order to map many documents. Internally YesSql communicates with the database server using Dapper.

Dude ! Why another document database ?

I know 😕 Well actually I am a big fan of document databases and I am well aware that some like MongoDb and RavenDb are already top-notch ones, but what if you want a free, transactional .NET document database ?

  • MongoDb is not transactional, and some applications can't cope with it. RDBMS on the contrary are all transactional.
  • RavenDb (which I am a big fan of) is not free (for most usages).
  • Some companies which have invested a lot in SQL, only trust SQL, and have in-house experts.

So YesSql might be an answer for the developers who face those restrictions. If you don't care about those then please don't spend one more minute on YesSql, it's useless for you.

I am sold, where do I start ?

The documentation is here: https://github.com/sebastienros/yessql/wiki

You can also take a look at the sample apps in the source code.

Development

  • Development and pull-requests are done based on the main branch.
  • Every build and pull-request are tested against Sqlite, PostgreSQL, SQL Server and MySql.
  • The latest NuGet release is tagged and available in the releases page.
  • The main branch is also published on MyGet automatically.
Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (58)

Showing the top 5 NuGet packages that depend on YesSql:

Package Downloads
OrchardCore.ContentManagement

Orchard Core CMS is a Web Content Management System (CMS) built on top of the Orchard Core Framework. Implementation for ContentManagement

OrchardCore.Data.YesSql

Orchard Core CMS is a Web Content Management System (CMS) built on top of the Orchard Core Framework. Provides data access functionality using YesSql

OrchardCore.ContentManagement.GraphQL

Orchard Core CMS is a Web Content Management System (CMS) built on top of the Orchard Core Framework. GraphQL implementation for ContentManagement

OrchardCore.Users.Core

Orchard Core CMS is a Web Content Management System (CMS) built on top of the Orchard Core Framework. Core implementation for Users module.

OrchardCore.Infrastructure

Orchard Core CMS is a Web Content Management System (CMS) built on top of the Orchard Core Framework. Implementation for OrchardCoreCMS Infrastructure

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on YesSql:

Repository Stars
OrchardCMS/OrchardCore
Orchard Core is an open-source modular and multi-tenant application framework built with ASP.NET Core, and a content management system (CMS) built on top of that framework.
Version Downloads Last updated
5.2.0 128 11/15/2024
5.1.1 22,911 7/23/2024
5.1.0 351 7/11/2024
5.0.0 12,217 5/3/2024
5.0.0-beta-0002 10,504 1/26/2024
5.0.0-beta-0001 148 12/22/2023
4.2.0 68 5/2/2024
4.1.0 1,199 1/26/2024
4.0.0 60,921 12/22/2023
4.0.0-beta-0003 2,570 12/6/2023
4.0.0-beta-0002 136 11/17/2023
4.0.0-beta-0001 109 11/15/2023
3.5.0 3,183 11/16/2023
3.4.0 28,110 10/11/2023
3.3.0 118,453 12/18/2022
3.2.0 129,940 10/5/2022
3.1.0 2,433 9/29/2022
3.0.12 217,443 1/8/2022
3.0.11 378 1/7/2022
3.0.10 533,491 12/3/2021
3.0.9 3,140 11/10/2021
3.0.8 377 11/8/2021
3.0.7 233,207 7/9/2021
3.0.6 14,768 5/18/2021
3.0.5 455 5/16/2021
3.0.4 5,194 5/13/2021
3.0.3 442 5/9/2021
3.0.2 20,766 4/6/2021
3.0.1 920 4/2/2021