开始一个新模块
实体放哪?分层说明
默认精简结构:业务实体直接放 EasyAdminBlazor.Test/Entities/(演示项目)或你自己的业务项目 Entities/ 文件夹下。
大型项目(有接口、有前台、有后台等多个入口)可以自行拆层:
- 新增共享层(如
XXX.Application/XXX.Core),放实体、DTO、公共服务等共用代码; - API、Web 前台、Admin 后台等宿主项目各自引用共享层;
- 常见做法:共享层(
Core/Application)承载实体、DTO、公共服务;宿主项目(API、Web 前台、Admin 后台)各自引用共享层,只负责入口和界面。
分层由项目规模决定,框架不做强制要求。
1. 创建实体类
先建个实体类,继承EntityFull就行:
public class MyNewEntity : EntityFull
{
public string Name { get; set; }
public string Description { get; set; }
}
💡 偷懒小技巧:让 AI 帮你写实体类
不想手写?让 ChatGPT、DeepSeek、Claude 代劳:
示例提示词:
我需要一个产品表,有名称、价格、库存、分类ID(关联分类表),分类ID是外键。使用 Freesql 实体特性,实体类继承 EntityFull,加上必要的特性(Table、Column、DisplayName、Navigate)。
AI 输出的代码:
[Table(Name = "product")]
public class Product : EntityFull
{
[DisplayName("产品名称")]
[Column(StringLength = 100)]
public string Name { get; set; } = string.Empty;
[DisplayName("价格")]
[Column(Precision = 10, Scale = 2)]
public decimal Price { get; set; }
[DisplayName("库存")]
public int Stock { get; set; }
[DisplayName("分类ID")]
public long? ClassifyId { get; set; }
[Navigate(nameof(ClassifyId))]
public Classify Classify { get; set; } = default!;
}
复制粘贴到项目里,然后去代码生成器生成页面就行了,就这么简单。
2. 生成 Blazor 页面
打开 /Admin/CrudGenerator,可视化配置一下,CRUD 页面就自动生成好了。
详细操作可以参考 代码生成.md。