在apb-vnext的实体的创建中可以确实字段的长度、说明、对应的表、表中给字段加的索引
以项目中的订单表为例,如下:
![复制代码](https://img-blog.csdnimg.cn/img_convert/18f08b5d54f478bfc4cf32e638918daa.gif)
[Comment("订单主表")]
[Table("t_voucher_order")]
[Index(nameof(VoucherCode))]
public class Order : AuditedAggregateRoot, ISoftDelete, IMultiTenant
{
public Order() { }
public Order(Guid id)
{
this.Id = id;
}
///
/// 单据编号
///
[MaxLength(32)]
[Comment("单据编号")]
public string VoucherCode { get; set; }
///
/// 发货仓库
///
[MaxLength(36)]
[Comment("发货仓库")]
public Guid WarehouseId { get; set; }
///
/// 发货仓库
///
[MaxLength(50)]
[Comment("仓库名称")]
public string WarehouseName { get; set; }
///
/// 供应商编码
///
[MaxLength(36)]
[Comment("供应商编码")]
public Guid? SupplierId { get; set; }
///
/// 供应商名称
///
[MaxLength(20)]
[Comment("供应商名称")]
public string SupplierName { get; set; }
///
/// 申请时间
///
[Comment("申请时间")]
public DateTime CreatedOn { get; set; }
///
/// 申请人
///
[MaxLength(20)]
[Comment("申请人")]
public string CreatedBy { get; set; }
///
/// 审核时间
///
[Comment("审核时间")]
public DateTime? AuditOn { get; set; }
///
/// 审核人
///
[MaxLength(20)]
[Comment("审核人")]
public string AuditBy { get; set; }
///
/// 订单状态:0 暂存 1已作废 2已提交 3已驳回 5已审核
///
[Comment("订单状态")]
public OrderStatusEnum Status { get; set; }
///
/// 删除标识
///
[Comment("删除标识")]
public bool IsDeleted { get; set; } = false;
public Guid? TenantId { get; set; }
}
![复制代码](https://img-blog.csdnimg.cn/img_convert/d5a0a4c1891c4adb63a8097af31c7e8b.gif)
迁移表到数据库后看效果
Add-Migration order202405110001
![](https://img-blog.csdnimg.cn/img_convert/b38d1632e30d3acebd7abe6b47ce983e.png)
表生成的效果
![](https://img-blog.csdnimg.cn/img_convert/afa9ff254f63b974596ed9506ec4661e.png)
索引创建效果:
![](https://img-blog.csdnimg.cn/img_convert/33f4101039b1991d496bfc2a01cb4763.png)
|