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 });
}
}
}