.NET 10
Minimal APIs、Mediator.SourceGenerator 和 C# 14 — 编译期生成,零反射开销,原生极速冷启动。
BitzOrcas.Modern 将模块边界、CQRS 垂直切片、统一授权、多租户隔离、CAP 事件、自研工作流、多 ORM 双引擎持久化与 AI-Native MCP 协议固化为可组合模板。团队通过 ProfileChoice 确定业务形态、租户模式与平台扩展闭包,结合 SqlSugar 或 EF Core 运行时适配器,由 CLI 一键生成只拥有自有源码的 Consumer Solution。
本地拓扑由 .NET Aspire 编排并统一观测
3
最小 API、单租户业务与多租户业务,决定 Host、租户和部署基线
6
Authorization、MasterData,以及 Finance、HR、Auction、Legal
15
1 个最小 API、7 个单租户业务与 7 个多租户业务组合
37
身份、授权、工作流、AI 智能体、文件、搜索、审计、法律连接器等限界上下文
框架提供经过源码和测试验证的默认实现,也明确哪些能力依赖具体 Provider、拓扑和运维证据。替换组件需要通过相同契约与 parity 门禁。
Minimal APIs、Mediator.SourceGenerator 和 C# 14 — 编译期生成,零反射开销,原生极速冷启动。
命令写路径由 SqlSugar/EF Core 适配器承载并固化租户过滤与审计;读模型直连 Dapper 副本。
一条命令一键启动 SQL Server、Redis、RabbitMQ、OTLP Collector 与 API 拓扑。
提供容器化部署基线与预置探针;生产环境严格检验 Secret、备份恢复、容量与多副本。
本地文件存储用于开发调试,S3 兼容适配器用于生产;统一元数据、哈希校验与预签名语义。
租户聚合默认物理与逻辑隔离,平台级数据显式声明;ORM、缓存、后台任务与搜索分别验证。
ORM 中立运行时、声明式 JSON DSL、版本控制、任务审批流、执行历史与恢复边界独立手册。
[GenerateMcpTool] 编译期生成工具描述,/mcp 端点流式暴露;严格在租户上下文与权限网关约束下运行。
集成实体 ER 建模、数据库 DDL 差异对比、Git 提交时间线审计与架构测试规则静态核验。
同一个 bitzorcas-host 模板可以生成 15 个正式组合。ProfileChoice 一次确定业务形态、租户模式、平台或行业扩展和部署方式;RuntimeAdapter 只选择 SqlSugar 或 EF Core,不改变模板组合本身。
$ dotnet new bitzorcas-host -n Acme.Crm \
--ProfileChoice default-business-multi \
--RuntimeAdapter sqlsugar确定性生成结果
COMPOSITION MODEL
ProfileChoice 决定 Host、Module、租户与部署闭包;RuntimeAdapter 只切换生产 ORM,不会形成新的模板组合。
mini-api-single
最小 API Host 闭包,不带 Platform 模块或行业扩展。
default-business-single
API Host 加 Consumer 自有 Starter 业务模块,保持受控的基础闭包。
default-business-multi-authorization
多租户 Aspire 闭包显式加入 Authorization runtime module。
default-business-multi-legal
在标准业务闭包上增加受支持的 Legal package-only 扩展。
每个模块拥有自己的 Contracts、Domain、Application、Infrastructure 与 Endpoint 表面;其他模块只能依赖公开契约。用例围绕 Command/Query 组织,生成式 Endpoint、验证管道、聚合行为和测试证据保持可追踪,而不是把业务散落到 Controller、Service 与 Repository 脚本中。
模块化单体
跨模块调用仅通过 *.Contracts 进行 — 由架构测试强制约束。
垂直切片
Platform.Catalog/ Application / Commands/ CreateCatalogItem
Endpoint 由属性生成;授权、验证、事务与审计进入统一管道,Handler 只表达用例。
Consumer Solution 与产品仓库物理分离:项目团队拥有业务模块和 Host,Framework 与 Platform 以商业包提供稳定能力。跨模块协作只走公开 Contracts、Port、Integration Event 或授权读模型,架构测试持续阻止依赖方向回退。
渠道、Host、平台模块、框架服务与外部资源分层展示;点击进入可缩放的大图。
打开交互式架构大图PACKAGE BOUNDARY
业务代码可以组合平台能力,但不能复制、修改或穿透其内部实现。
<!-- Consumer 依赖 Profile 包,不复制 Platform 核心源码 -->
<ItemGroup>
<PackageReference
Include="BitzOrcas.Profile.Default.Business" />
</ItemGroup>同步调用只依赖公开契约;存储、策略和适配差异通过显式 seam 接入。
跨模块状态变化经 CAP Outbox 发布,消费方按至少一次投递保持幂等。
其他模块不得引用内部层、直接改表或把同步 Handler 注入成跨模块捷径。
认证、授权、缓存、事件、任务、观测、幂等、Webhook、多 ORM 适配器与 AI 智能体协议由共享构建块提供。每项能力都有明确默认实现、扩展接口、降级行为、失败语义和生产验收边界,业务模块无需重复建设横切基础设施。
JWT bearer + HMAC 客户端密钥,统一授权决策服务(RBAC + ABAC + ReBAC)。
查看能力边界租户聚合通过全局 QueryFilter 隔离,系统级数据使用显式例外;支持 SingleTenant 与 MultiTenant 模式。
查看能力边界默认 SqlSugar 适配器,可选 EF Core;内置多租户全局过滤、软删除、乐观并发与审计拦截;读模型支持 Dapper 直连。
查看能力边界分布式 L1/L2 缓存,写入时按租户范围清除缓存。
查看能力边界显式事务发布进入 CAP Outbox;消费者按至少一次投递实现幂等。
查看能力边界通过 OTLP 输出追踪、指标和日志;更换观测后端时校验配置、字段映射、采样与告警规则。
查看能力边界版本化 Minimal APIs,OpenAPI 3.1 文档,交互式 Scalar UI。
查看能力边界幂等性管道,HMAC 签名 Webhook,支持重试、投递日志和死信队列。
查看能力边界本地编排 API + SQL Server + Redis + RabbitMQ + OpenTelemetry Collector。
查看能力边界持久化定时任务和 CAP 消息消费者,保留租户上下文。
查看能力边界探针端点、分区限流、后台任务和管理诊断;通用 SSE 仍是待交付能力。
查看能力边界Microsoft.FeatureManagement,支持租户级覆盖。
查看能力边界ORM 中立运行时,覆盖 JSON DSL、版本与部署、任务、历史和恢复边界;业务审批规则由应用层组合。
查看能力边界生成 DI、Endpoint、ORM 映射与 Query Shape,把高频架构约束前移到编译期。
查看能力边界Package Entitlement、Runtime License 与租户 Feature 分离建模,商业模块通过统一决策 seam fail-closed。
查看能力边界基于 Model Context Protocol,通过 [GenerateMcpTool] 编译期生成工具描述;/mcp 端点流式暴露,严格在租户上下文与权限网关约束下运行。
查看能力边界桌面可视化工作台,集成 ER 数据建模、数据库 DDL 差异比对、Git 时间线审计与架构规则静态审查。
查看能力边界提供企业微信 WeChat.Mp、司法精算 LegalCalculators、工时计量 Timekeeping、GDPR 隐私合规与动态文档生成引擎。
查看能力边界产品仓库包含 37 个平台源码边界,覆盖身份、授权、文件、通知、工作流、搜索、报表、运维、法律垂直连接器与支持帮助台。Consumer 模板只开放已经进入正式组合的模块和扩展;业务模块仍只能依赖公开 Contracts。
统一授权,多种策略。
默认隔离。按需跨租户。
每一次变更的取证记录。
对象存储 (S3)
租户隔离的对象存储适配器(MinIO / S3 / 本地),元数据与预签名语义一致。
异步导出中心
大表异步分页查询、进度追踪、文件落盘与多渠道完成通知回调。
全文检索
基于 Elastic / OpenSearch 的跨模块统一索引构建与数据权限隔离过滤。
流水号规则
高并发单据编码引擎,支持按年/月/日租户分段,业务规则与计数器物理分离。
Webhook 平台
HMAC 签名、指数退避重试、投递流水日志与死信告警闭环。
消息通知中枢
统一用户收件箱,支持站内信、邮件、短信与企业微信渠道流水线路由。
动态表单元数据
基于 JSON Schema 的动态表单配置驱动引擎与运行时字段级级联校验。
业务标签体系
租户级通用实体标签打标、继承、倒排索引与标签多维统计。
司法精算引擎
诉讼案件受理费、保全费分段递减计算,支持法定借贷利息与违约金复利精确核算。
专业工时计量
律师与顾问计费工单打点、阶段计费规则、工时审核流与费率矩阵。
动态文档生成
基于模板的 Word / PDF 法律文书、合同与报表自动化批量渲染排版。
GDPR 隐私合规
PII 敏感个人信息审计、自动脱敏、导出归档与被遗忘权受控数据擦除闭环。
基于 .NET 10、SqlSugar、EF Core、CAP、MCP 与成熟 OSS 组件,并用自研工作流、编译期 Source Generator 和架构测试固化团队约束。每个边界都有明确代码与验证入口。
.NET 10
C# 14 · net10.0 LTS 统一基准
Aspire
latest · 本地拓扑一键编排
SqlSugar
Core · 命令写路径高吞吐引擎
EF Core
optional · 合规与审计拦截第二适配器
Dapper
replica read · 报表与高频读模型只读直连
CAP
latest · 事务发件箱与幂等消息消费
Mediator
sourcegen · 编译期生成 CQRS 分发管线
SourceGen Mapper
zero alloc · 零反射编译期 DTO 映射器
FusionCache
L1/L2 · 租户感知 L1 内存 + L2 Redis 缓存
Quartz
clustered · 持久化分布式定时调度集群
OpenTelemetry
OTLP · 追踪、指标与日志统一 OTLP 导出
Scalar
OpenAPI 3.1 · 交互式 OpenAPI 3.1 契约浏览器
ArchUnitNET
187 tests · 187 项架构测试固化依赖边界
MCP Server
Agent tools · Model Context Protocol 智能体工具流
BitzOrcas.Suite
Workbench · 桌面可视化 ER、DDL 差异与审查工作台
Workflow DSL
JSON schema · 声明式 JSON 状态机与租户审批流
合并门禁覆盖代码格式、Release 编译、领域行为与集成测试、模块依赖隔离、Consumer PackageReference 闭环、trim 裁剪发布、Roslyn 语义反射扫描、No T-SQL 方言规则、生产部署资产与 OpenAPI/SDK 客户端漂移。模板变更另跑 15 个正式组合在两种 ORM 下的生成矩阵;外部商业 GA 独立验证可信签名、SBOM、供应链合规与生产 Consumer。
26
测试项目
26 个解决方案测试项目覆盖领域规则、Result/Error 契约、管道拦截以及真实 SQL Server、RabbitMQ 物理链路。
187
架构测试文件
187 个架构测试文件固化分层依赖方向、模块治理边界、Host 纯度、AOT 裁剪、反射合规与持久化规则。
15
正式模板组合
15 个模板组合分别在 SqlSugar 与 EF Core 下执行生成、编译与闭包校验;严格子集执行私有 Feed 构建发布。
GA
外部商业 GA
经认证私有 Feed、可信代码签名、SBOM 清单、高危漏洞与许可证合规策略独立阻断交付。
$ scripts/build/verify-all.sh
01—04 secret · restore · format · Release build
05—08 unit/non-Docker · Consumer Contract · XML
09—10 architecture · integration (non-Docker)
11—13 trim publish · reflection zero · No T-SQL
14 production deployment and portability assets
15 OpenAPI artifact · platform-sdk drift
MERGE GATE · 15 required steps
$ scripts/build/verify-template.sh
15 combinations × 2 ORMs — SqlSugar / EF Core
TEMPLATE GATE · run when templates or releases change
$ scripts/build/verify-commercial-ga.sh
authenticated feed · trusted signatures · SBOM
vulnerability/license policy · provenance · external consumer
RELEASE GATE · immutable artifacts onlyBitzOrcas.Modern 适合需要长期演进、模块治理和统一交付证据的 .NET 后端系统。当前公开模板从最小单租户 API 扩展到带受支持平台或行业扩展的单/多租户业务系统。
适合采用
最小 API 与集成壳
mini-api-single 提供单租户最小 API 闭包,适合在稳定 Framework 契约上增加 Consumer 自有业务表面。
单租户内部与业务系统
default-business-single 生成 API 与 Consumer 自有 Starter 模块,可通过耦合 ProfileChoice 增加 Authorization、MasterData 或行业扩展。
多租户 SaaS 业务系统
default-business-multi 使用认证租户 claim 与 Aspire 部署闭包,Consumer 团队仍拥有业务模块源码。
需要受控平台或行业扩展的产品
Authorization、MasterData、Finance、HR、Auction 与 Legal 使用显式 coupled preset,不把未验证的自由组合带入客户仓库。
不适合
只需要前端交互的项目
BitzOrcas.Modern 是后端架构基座,不包含前端框架和 UI 组件。前端部分需要配合其他技术方案。
必须任意组合且不接受约束的团队
正式模板采用 fail-closed 组合矩阵;公开入口只允许已登记的 ProfileChoice 与 RuntimeAdapter,不会为了“先生成再说”而放行任意闭包。
第一天就需要微服务拆分的场景
BitzOrcas 是模块化单体 — 模块后续可以提取为服务,但默认是一个进程。如果第一天就需要独立部署的微服务,需要额外规划。
不使用 .NET 技术栈的团队
架构模式和技术选型都是基于 .NET 10 生态。非 .NET 团队可以参考架构思想,但无法直接复用代码和构建块。
围绕组合、扩展、隔离、持久化和交付门禁给出明确答案。如果仍有未决架构问题,在仓库提交 Issue
最小 API 使用 mini-api-single;常规业务系统按租户模式选择 default-business-single 或 default-business-multi。需要 Authorization、MasterData、Finance、HR、Auction 或 Legal 扩展时,选择对应的耦合后缀;RuntimeAdapter 另行选择 sqlsugar 或 efcore。公开 CLI 不接受未进入矩阵的自由组合。
不能。Consumer Solution 只拥有 Host、组合 Manifest、配置、测试与业务模块源码;Framework 和默认 Platform 通过商业 PackageReference 交付。项目差异必须通过 Contracts、Store Adapter、Policy、Strategy、Options、Integration Event 或 Pipeline Hook 实现。
公开模板参数只有 ProfileChoice 与 RuntimeAdapter。Host、Module、租户和部署闭包由 ProfileChoice 耦合决定,不提供自由删减;ORM 可在 sqlsugar 与 efcore 之间选择。新闭包必须先进入唯一组合目录和模板矩阵,再通过隔离 Feed 与 Consumer Contract 门禁。
单租户仍使用统一租户契约,但上下文固定;多租户会加入解析链、生命周期、DataScope、租户级缓存、限流、审计和运维能力。只要数据将由多个客户共享,就应从 multi 开始,并对 ORM、缓存、任务、搜索和管理入口分别做隔离测试。
同步能力只引用目标模块的 *.Contracts 或明确 Port;状态变化通过 CAP Outbox 发布 Integration Event;查询通过授权后的 Query Contract、读模型或 Reporting Mart。禁止引用其他模块的 Domain、Application、Infrastructure 或内部表。
模板有 15 个正式组合,每个组合都在 SqlSugar 和 EF Core 下验证,因此物理矩阵共有 30 条生成路径。ORM 不会增加模板组合数。适配器仍需满足 Store 契约、Result/Error 语义、租户隔离、事务和 Provider parity;Dapper 负责只读副本的高性能查询投影,不是当前 Consumer 模板的独立 RuntimeAdapter 生成参数。
权威入口是 scripts/build/verify-all.sh。当前串联 17 步严格门禁:secret 明文扫描、restore、代码格式化与无用 using 检查、Release build、单元与行为测试、本地 PackageReference Consumer 合同测试、XML 文档与注释、架构测试套件、非 Docker 集成测试、限流与防伪造压力测试、CLI 黄金通道验证、trim 裁剪发布、Roslyn 语义反射扫描(ADR 0102/0103)、No T-SQL 方言门禁(ADR 0033)、生产部署资产验证以及 OpenAPI 规范与 Platform SDK 客户端漂移检查。
不等于。Commercial GA 是独立外部门禁,针对不可变发布产物验证认证私有 Feed、可信签名、SBOM、漏洞阈值、第三方许可证策略、provenance 和外部 Consumer Solution;客户拓扑还需补齐容量、安全、恢复和多副本演练。
BitzOrcas 原生支持 Anthropic Model Context Protocol (MCP)。通过在用例或服务标注 [GenerateMcpTool],编译期源码生成器自动提取输入输出的 JSON Schema,并在 /mcp 端点流式暴露。智能体在调用工具时,必须经由 API 网关的统一认证管道注入当前用户的 TenantContext 与 SecurityPrincipal,受到严格的数据范围(DataScope)与多租户全局过滤器约束。智能体严禁直接执行原生 SQL 或穿透模块内部聚合,所有变更必须进入 CQRS 校验与审计管道。
业务模块的领域层与契约层保持 100% ORM 中立,仅依赖 ICommandRepository 写入端口与 I*ReadStore 读取端口。命令写路径由选定的 RuntimeAdapter(SqlSugar 或 EF Core)接管,负责实体聚合生命周期、乐观并发、租户隔离与审计拦截;复杂报表与高频读模型则通过 IDapperConnectionFactory 直连只读副本执行高性能查询,兼顾业务领域的整洁架构与数据密集型场景的极限吞吐。