Sora.Core 0.2.18

There is a newer version of this package available.
See the version list below for details.
dotnet add package Sora.Core --version 0.2.18
                    
NuGet\Install-Package Sora.Core -Version 0.2.18
                    
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="Sora.Core" Version="0.2.18" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sora.Core" Version="0.2.18" />
                    
Directory.Packages.props
<PackageReference Include="Sora.Core" />
                    
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 Sora.Core --version 0.2.18
                    
#r "nuget: Sora.Core, 0.2.18"
                    
#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 Sora.Core@0.2.18
                    
#: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=Sora.Core&version=0.2.18
                    
Install as a Cake Addin
#tool nuget:?package=Sora.Core&version=0.2.18
                    
Install as a Cake Tool

Sora Framework

Stop fighting your framework. Start building.

Sora is a modern .NET framework that gets out of your way and lets you focus on what mattersβ€”your application logic. No complex configuration, no hidden magic, just clean, predictable code that works the way you expect.

The Problem We Solve

Most frameworks force you to choose: either simple but limited, or powerful but complex. Sora gives you bothβ€”start with a three-file API, scale to enterprise patterns when you need them.

// This is a complete, working API with persistence
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSora();

var app = builder.Build();
app.UseSora();
app.Run();

Why Developers Choose Sora

πŸš€ Zero to API in minutes β€” Real CRUD endpoints with just EntityController<T>
πŸ”§ Escape hatches everywhere β€” Drop to raw SQL, custom controllers, or provider-specific features
πŸ“¦ Modular architecture β€” Add JSON, SQLite, MongoDB, or messaging as your needs grow
βœ… Production ready β€” Health checks, OpenAPI docs, and observability built-in
🎯 Predictable β€” Convention over configuration, but configuration always wins

Core Philosophy

  • Start simple, grow smart β€” Begin with basics, add complexity only when needed
  • Familiarity first β€” Uses patterns you already know (Controllers, DI, EF-style entities)
  • Developer experience β€” Clear error messages, helpful defaults, minimal friction
  • Flexibility β€” Multiple data providers, pluggable components, custom implementations welcome

Real-World Example

// Define your model
public class Todo : Entity<Todo>
{
    public string Title { get; set; } = string.Empty;
    public bool IsDone { get; set; }
    public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
}

// Get a full REST API
[Route("api/[controller]")]
public class TodosController : EntityController<Todo> { }

// Use it naturally
var todo = await new Todo { Title = "Learn Sora" }.Save();
var todos = await Todo.Where(t => !t.IsDone);

That's it. You now have:

  • GET /api/todos β€” List all todos
  • POST /api/todos β€” Create new todo
  • GET /api/todos/{id} β€” Get specific todo
  • PUT /api/todos/{id} β€” Update todo
  • DELETE /api/todos/{id} β€” Delete todo
  • Automatic health checks at /health
  • OpenAPI documentation at /swagger

Getting Started

  1. Quick Start β€” 3-minute tutorial from zero to working API
  2. Documentation β€” Complete guides for all features
  3. Examples β€” Real applications in the samples/ directory

Built For

  • Rapid prototyping β€” Get ideas into code fast
  • Microservices β€” Lightweight, focused services
  • CRUD APIs β€” Perfect for data-driven applications
  • Enterprise applications β€” Scales to complex patterns (CQRS, Event Sourcing)

Community & Support

  • GitHub Issues β€” Bug reports and feature requests
  • Discussions β€” Questions and community help
  • Contributing β€” See our guidelines

Built with ❀️ for .NET developers who want to focus on solving problems, not fighting frameworks.


License: Apache 2.0 | Requirements: .NET 9 SDK

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

NuGet packages (33)

Showing the top 5 NuGet packages that depend on Sora.Core:

Package Downloads
Sora.Data.Core

Data core for Sora: repository primitives, options, and shared helpers for relational and document providers.

Sora.Web

ASP.NET Core integration for Sora: controller-first routing, health endpoints, well-known endpoints, and observability bootstrap.

Sora.Messaging.Core

Core messaging abstractions and helpers for Sora: bus configuration, auto-registration, and options binding.

Sora.Data.Cqrs

CQRS utilities for Sora Data: query/command helpers and patterns.

Sora.Data.Mongo

MongoDB data provider for Sora: options binding and repository integration for document databases.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.4.0 146 9/5/2025
0.2.20 119 8/22/2025
0.2.18 175 8/20/2025
0.2.17 156 8/19/2025
0.2.16 155 8/18/2025