Bee.Api.Contracts
4.6.0
dotnet add package Bee.Api.Contracts --version 4.6.0
NuGet\Install-Package Bee.Api.Contracts -Version 4.6.0
<PackageReference Include="Bee.Api.Contracts" Version="4.6.0" />
<PackageVersion Include="Bee.Api.Contracts" Version="4.6.0" />
<PackageReference Include="Bee.Api.Contracts" />
paket add Bee.Api.Contracts --version 4.6.0
#r "nuget: Bee.Api.Contracts, 4.6.0"
#:package Bee.Api.Contracts@4.6.0
#addin nuget:?package=Bee.Api.Contracts&version=4.6.0
#tool nuget:?package=Bee.Api.Contracts&version=4.6.0
Bee.NET Framework
Bee.NET Framework is an N-Tier + Clean Architecture + MVVM hybrid designed to accelerate the development of enterprise information systems. It adopts a Definition-Driven Architecture, using FormSchema as the single source of truth to drive UI layout, database schema, and business validation in a unified way.
📌 N-tier means the architecture is divided into more than three logical layers. In Bee.NET, the system is separated into at least five layers: presentation, API communication, business logic, data access, and database — each with a clearly defined responsibility.
All packages target net10.0.
✨ Features
- Definition-Driven Architecture:
FormSchemaserves as the single source of truth, automatically deriving UI layout (FormLayout), database schema (TableSchema), and validation rules — define once, sync everywhere. - N-Tier + Clean Architecture + MVVM: Clear separation of presentation, API, business logic (BO), and data access layers, borrowing the best concepts from each pattern for ERP scenarios.
- Cross-platform compatibility: All packages target
net10.0for modern .NET runtime support. - Multi-database support: Built-in dialects for SQL Server, PostgreSQL, SQLite, MySQL, and Oracle; host applications register only what they use.
- Modular components: Decoupled libraries for core utilities, data, caching, business logic, and API hosting.
- Rapid development: Reusable base classes and FormSchema-driven CRUD reduce repetitive boilerplate.
📐 Architecture
For an in-depth look at the layered architecture, data flow, and design decisions behind Bee.NET, see the Architecture Overview.
For guidelines on API Contract and BO Parameter design (Request/Response vs Args/Result), see the API/BO Contract Design Principles.
For calling the JSON-RPC API from a JavaScript / TypeScript frontend (React, Vue, Angular, vanilla — no .NET on the client), see the JSON-RPC Frontend Integration Guide.
For the full developer documentation index, see docs/README.md.
📦 Assembly
Shared (Frontend / Backend)
| Assembly Name | Description |
|---|---|
| Bee.Base.dll | Core utilities such as serialization, encryption, and general-purpose helpers. |
| Bee.Definition.dll | Defines system-wide structured types including FormSchema, field schemas, and layout configurations. |
| Bee.Api.Contracts.dll | Shared data contracts (request/response models) used by both frontend and backend. |
| Bee.Api.Core.dll | Encapsulates API support such as model definitions, payload encryption, and serialization pipeline. |
Backend
| Assembly Name | Description |
|---|---|
| Bee.Repository.Abstractions.dll | Interface contracts for the business layer to access the data layer; boundary between Business Object and Repository. |
| Bee.ObjectCaching.dll | Runtime caching of FormSchema definitions and derived system data to improve performance. |
| Bee.Db.dll | Database abstraction with dynamic SQL command generation and connection binding; ships dialects for SQL Server, PostgreSQL, SQLite, MySQL, and Oracle. |
| Bee.Repository.dll | Common repository base classes and FormSchema-driven data access mechanisms. |
| Bee.Business.dll | Core business logic (Business Object / BO) implementing use-case workflows. |
| Bee.Hosting.dll | Composition root — AddBeeFramework extension registering all backend services into any IServiceCollection (no ASP.NET Core dependency). Used by ASP.NET Core, WinForms, Console, and Worker Service hosts. |
| Bee.Api.AspNetCore.dll | JSON-RPC 2.0 API controller for ASP.NET Core (UseBeeFramework middleware + ApiServiceController). |
Frontend
| Assembly Name | Description |
|---|---|
| Bee.Api.Client.dll | Connector for local or remote invocation of backend Business Objects (LocalApiProvider / RemoteApiProvider). |
| Bee.UI.Core.dll | Cross-platform UI common layer (ClientInfo / IEndpointStorage / IUIViewService / VersionInfo); shared by native UI hosts for client-side connection state and endpoint persistence. |
| Bee.UI.Maui.dll | MAUI cross-platform control library (iOS / Android / macOS / Windows); ships FormSchema-driven controls (DynamicForm + FormDataObject). Default TFM net10.0; platform TFMs opt-in via -p:BeeUiMauiFullPlatforms=true. |
| Bee.Web.Blazor.Server.dll | Razor Class Library (RCL) for Blazor Server hosts; provides DI-scoped connectors and Blazor components (DynamicForm, FormDataObject). |
| Bee.Web.Blazor.Wasm.dll | Razor Class Library (RCL) for Blazor WebAssembly hosts; forced to RemoteApiProvider. Must not depend on any backend project. |
🚀 Quick Start
Want to see Bee.NET running in 30 seconds?
# Terminal 1 — start the JSON-RPC API host
cd samples/QuickStart.Server
dotnet run
# Terminal 2 — connect and call the Echo BO
cd samples/QuickStart.Console
dotnet run
The console will print System.Ping status and an echoed message returned from a custom BO. See samples/README.md for the full demo list and what each one shows.
💡 Sample Projects
All demos live in-repo under samples/. They're minimal, focused, and evolve alongside the framework. Build them with dotnet build samples/Bee.Samples.slnx (kept separate from the main Bee.Library.slnx, so the main CI/build stays unaffected).
| Category | Demo | Shows |
|---|---|---|
| QuickStart | QuickStart.Server + QuickStart.Console |
Minimal JSON-RPC end-to-end with a custom anonymous BO |
| Blazor Server | Blazor.Server.Demo |
BeeLoginPanel + FormPage + Employee CRUD, dispatched in-process via LocalApiProvider |
| Blazor Wasm | Blazor.Wasm.Demo + .Host |
Same Blazor components running in the browser, dispatched over HTTP via RemoteApiProvider |
| MAUI | Maui.Demo |
Native-app client (Mac Catalyst / iOS / Android / Windows) rendering the same FormSchema |
| Pure JS | Web.Js.Demo |
Calling the JSON-RPC API from vanilla JavaScript in a browser — no .NET on the client, no npm |
📬 Contact & Follow
You're welcome to follow my technical notes and hands-on experience sharing
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Bee.Definition (>= 4.6.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Bee.Api.Contracts:
| Package | Downloads |
|---|---|
|
Bee.Api.Core
Encapsulates API support such as model definitions, encryption, and serialization. |
|
|
Bee.Business
Implements core business logic and application-level workflows. |
GitHub repositories
This package is not used by any popular GitHub repositories.