using Furion.DatabaseAccessor; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Admin.NET.Core { /// /// Excel模板 /// [Table("sys_excel_template")] [Comment("Excel模板")] public class SysExcelTemplate : DEntityBase, IEntityTypeBuilder { /// /// 模板名称 /// [Comment("模板名称")] [Required, MaxLength(50)] public string Name { get; set; } /// /// 版本 /// [Comment("版本")] [Required, MaxLength(20)] public string Version { get; set; } /// /// 所属应用 /// [Comment("所属应用")] [Required, MaxLength(20)] public string AppName { get; set; } /// /// 类名 /// [Comment("类名")] [Required, MaxLength(50)] public string ClassName { get; set; } /// /// 模板文件名称 /// [Comment("模板文件名称")] [Required, MaxLength(50)] public string TemplateFileName { get; set; } /// /// 唯一字段集 /// [Comment("唯一字段集")] [Required, MaxLength(300)] public string UnionUniqueFields { get; set; } /// /// 表头开始行 /// [Comment("表头开始行")] public int HeadStartLine { get; set; } /// /// 数据开始行 /// [Comment("数据开始行")] public int DataStartLine { get; set; } /// /// 状态 /// [Comment("状态")] public CommonStatus Status { get; set; } = CommonStatus.ENABLE; /// /// 配置唯一键 /// /// /// /// public void Configure(EntityTypeBuilder entityBuilder, DbContext dbContext, Type dbContextLocator) { entityBuilder.HasAlternateKey(x => new { x.ClassName, x.Version, x.AppName }); } } }