using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CMS.Plugin.MyExtension.Domain
{
///
/// 用于扩展 EntityTypeBuilder 的静态类,提供针对继承自 MyFullAuditedAggregateRoot 的实体类型的配置扩展方法
///
public static class EntityTypeBuilderExtensions
{
///
/// 针对继承自 MyFullAuditedAggregateRoot 的实体类型,配置其公共属性
///
/// 继承自 MyFullAuditedAggregateRoot 的实体类型
/// EntityTypeBuilder 实例,用于配置实体的属性
public static void ConfigureMyCmsEntity(this EntityTypeBuilder b) where TEntity : MyFullAuditedAggregateRoot
{
b.Property(x => x.CreatorId)
.HasMaxLength(36)
.IsRequired(false)
.HasComment("创建人ID");
b.Property(x => x.CreatorName)
.HasMaxLength(64)
.IsRequired(false)
.HasComment("创建人");
b.Property(x => x.CreationTime)
.IsRequired()
.HasComment("创建时间");
b.Property(x => x.LastModifierName)
.HasMaxLength(64)
.IsRequired(false)
.HasComment("修改人");
b.Property(x => x.LastModifierId)
.HasMaxLength(36)
.IsRequired(false)
.HasComment("修改人ID");
b.Property(x => x.LastModificationTime)
.IsRequired(false)
.HasComment("修改时间");
b.Property(x => x.IsDeleted)
.IsRequired()
.HasComment("是否删除");
b.Property(x => x.DeleterId)
.HasMaxLength(36)
.IsRequired(false)
.HasComment("删除人ID");
b.Property(x => x.DeletionTime)
.IsRequired(false)
.HasComment("删除时间");
b.Property(x => x.ExtraProperties)
.IsRequired(false)
.HasComment("扩展属性");
b.Property(x => x.ConcurrencyStamp)
.IsRequired(false)
.HasMaxLength(40)
.HasComment("并发戳");
b.Property(x => x.Sort)
.HasDefaultValue(0)
.HasComment("排序");
b.Property(x => x.Remark)
.HasMaxLength(256)
.IsRequired(false)
.HasComment("备注");
b.Property(x => x.OperationRemark)
.HasMaxLength(256)
.IsRequired(false)
.HasComment("操作备注");
b.Property(x => x.DeleteRemark)
.HasMaxLength(256)
.IsRequired(false)
.HasComment("删除备注");
b.Property(x => x.IsDisabled)
.IsRequired(false)
.HasDefaultValue(false)
.HasComment("是否禁用");
b.Property(x => x.ExtraField1)
.HasMaxLength(256)
.IsRequired(false)
.HasComment("扩展字段1");
b.Property(x => x.ExtraField2)
.HasMaxLength(256)
.IsRequired(false)
.HasComment("扩展字段2");
b.Property(x => x.ExtraField3)
.HasMaxLength(256)
.IsRequired(false)
.HasComment("扩展字段3");
}
}
}