One .NET framework, distributed as NuGet packages, that every BizBlocks application inherits from.
BizBlocks ships as three NuGet packages so your project consumes the framework instead of forking it:
BizBlocks.Core: Skyscraper ORM, multi-tenant patterns, services, entitiesBizBlocks.Web: base controllers, authentication, UI components, areasBizBlocks.Static: CSS, JavaScript, Bootstrap and shared assetsEntities are code-first and inherit from skyClass<T>, which provides an automatic audit trail and rich attribution used by tooling and AI. The database schema is generated from your C# classes and version-controlled with your application.
[Display(Name = "Restaurant")]
[TableMapping("dbo.Restaurant")]
public class Restaurant : skyClass<Restaurant>
{
public int ID { get; set; }
public Guid CompanyKey { get; set; } // tenant isolation
public string Name { get; set; }
}
Your controllers inherit from the framework's base controller and get authorization, multi-tenant validation and CRUD conventions for free:
public class RestaurantController : BaseController
{
[ActionAuthorize("View")]
public IActionResult Index() => View();
[ActionAuthorize("Manage")]
public async Task<IActionResult> Save(Restaurant r)
=> Json(await _service.SaveRestaurant(r));
}
Every business entity carries a CompanyKey. Row-level filtering is automatic, giving each tenant complete isolation and a per-tenant audit trail. Organizations nest into departments, users and granular resources.
A dual reference system uses local project references during development and NuGet packages in CI/production. Applications deploy to Azure or AWS with auto-scaling, health checks and monitoring.
Want the moving parts? See API & Framework for entities, controllers and the MCP server.