using FreeSql.DataAnnotations; namespace F9WebAiTest.Domain.Entities.SYS.Reports; /// /// 报表模板文件(对齐 BBIT.F9.Domain.Entities.SYS.Reports.ReportFile)。 /// 报表模板作为独立实体与报表定义(Report)分离存储,Report 通过 ReportFileId 关联其模板实例。 /// .grf 本质是 UTF-8 JSON 文本,故以文本(DesignContent)保存。 /// [Table(Name = "sys_report_files")] public class ReportFile : BusinessEntity { [Column(Name = "report_id")] public long ReportId { get; private set; } /// 模板设计内容(.grf 的 JSON 文本) [Column(Name = "design_content", StringLength = -2)] public string DesignContent { get; private set; } = ""; public ReportFile() { } public ReportFile(long id, long reportId, string designContent) { Id = id; ReportId = reportId; DesignContent = designContent ?? ""; CreatedAt = DateTime.Now; } public void UpdateContent(string designContent) { DesignContent = designContent ?? ""; UpdatedAt = DateTime.Now; } }