Platform · Data

Define a class. Get a business object.

Skyscraper is the code-first ORM inside BizBlocks. One C# class gives you a table, an audit trail, tenant isolation, caching, and schema documentation your AI agents can actually read.

The problem

Data access is where projects quietly lose months

Migrations drift from the code. Nobody remembers which columns mean what. Tenant filtering gets forgotten in one query and leaks data. Audit fields get bolted on late. Caching becomes guesswork.

Skyscraper handles all of it as a property of the entity, not as work you remember to do.

Reservation.cs
// Business meaning, readable by tooling and AI
[Display(Name = "Reservation",
  Description = "A booked storage unit")]
[TableMapping("dbo.Reservation")]
public class Reservation : skyClass<Reservation>
{
    [PrimaryKeyColumn, IdentityColumn]
    public int    Id { get; set; }
    public Guid   CompanyKey { get; set; }
    public string Name { get; set; }
    [Encrypted]
    public string TaxId { get; set; }
}

// Fluent, tenant scoped, cached
var open = Reservation.Query()
    .WithCurrentCompanyKey()
    .WithValue("Status", "Open")
    .Cached()
    .ToList();
What you get

Free with every entity you write

Code first

The database is generated from your classes and version controlled with your application. Schema changes are refactors, not migration archaeology.

Audit built in

Created and modified timestamps and the acting user are tracked on every record, with row-level change history available through the audit module.

Multi-tenant

A company key isolates each tenant, with hierarchy down through departments, users and individual resources.

Caching

Multi-tier Redis and in-process caching with explicit invalidation, opted into per query rather than guessed at.

Column encryption

Mark a property as encrypted and sensitive values are protected at rest without touching your query code.

Self describing

Display names, descriptions, relationships, validation and usage context travel with the entity, which is what makes the MCP server useful.

Beyond SQL Server

Reports can reach the rest of your data

Your core data lives in SQL Server or MySQL. Reporting can additionally target other stores, so a single view can span systems.

SQL Server

The primary store for BizBlocks applications.

MySQL

Fully supported as a primary or reporting source.

Cosmos DB

Document data, queryable from the reporting engine.

MongoDB

Document collections as a reporting source.

Snowflake

Warehouse queries alongside operational data.

Redis

Distributed caching and SignalR backplane.

Elasticsearch

Search and log analytics.

Files and FTP

Flat file and SFTP sources for imports.

Next step

See it running on your own subdomain

Spin up a branded BizBlocks environment in seconds, or tell us how your business works and we will scope it with you.