Tech Blog

Sharing .NET, Blazor, and full-stack development insights

11 articles Filtering by: blazor admin
Original 2026-09-22 939

AdminTable 源码解析:EasyAdminBlazor 如何实现通用 CRUD?

EasyAdminBlazor 2.3.0 的 AdminTable 继承 BootstrapBlazor 的 Table<TItem>,通过 IAggregateRootRepository<TItem> 把查询接到 FreeSql。它做了四件事:查询接入(GetSelect + GetPagedAsync)、筛选排序翻译(ToDynamicFilter + ApplyOrder)、写路径服务端权限与数据权限校验(AuthButton + FilterAuthorizedAsync)、补齐导入导出/打印/草稿等后台刚需。核心价值是把重复的 CRUD 变成组件能力,一个实体加一个页面就是一个模块。

Read More
Original 2026-09-22 727

为什么 EasyAdminBlazor 不需要传统 Controller + Service + DTO?

EasyAdminBlazor 2.3.0 不需要 Controller + DTO,是因为 Blazor Server 组件在服务端执行,没有 HTTP 边界,这两层"协议层"的职责消失。CRUD 编排由 AdminTable 内置,业务规则仍应抽成可注入的领域服务。需要前后端分离、第三方对接、开放 API 时,仍应写接口层,实体与仓储可复用。

Read More
Original 2026-09-22 652

EasyAdminBlazor 2.3 源码架构解析:Blazor Admin 请求到底是怎么跑起来的?

EasyAdminBlazor 2.3.0 基于 .NET 10 + Blazor Server,采用"主包依赖接口、扩展替换实现"的可插拔架构。启动期构建 FreeSql 主库并注册基础设施,请求期经认证中间件、MainLayout 初始化、AdminTable 查询数据。核心:接口驱动、AdminContext 为中枢、针对 Blazor Server Circuit 特性处理 HttpContext 不可用与租户缓存问题。

Read More