222
schangxiang@126.com
2025-05-09 3b6f6123a7f7e80dfca43e85edd614a925d684a2
222
已添加2个文件
190 ■■■■■ 文件已修改
CommonDLL/公共实体类扩展类/MyExtension/EntityTypeBuilderExtensionsForRecord.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CommonDLL/公共实体类扩展类/MyExtension/MyFullAuditedAggregateRootForRecord.cs 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CommonDLL/¹«¹²ÊµÌåÀàÀ©Õ¹Àà/MyExtension/EntityTypeBuilderExtensionsForRecord.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,96 @@
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
{
    /// <summary>
    /// ç”¨äºŽæ‰©å±• EntityTypeBuilder çš„静态类,提供针对继承自 MyFullAuditedAggregateRoot<Guid> çš„实体类型的配置扩展方法(记录表专用)
    /// </summary>
    public static class EntityTypeBuilderExtensionsForRecord
    {
        /// <summary>
        /// é’ˆå¯¹ç»§æ‰¿è‡ª MyFullAuditedAggregateRoot<Guid> çš„实体类型,配置其公共属性
        /// </summary>
        /// <typeparam name="TEntity">继承自 MyFullAuditedAggregateRoot<Guid> çš„实体类型</typeparam>
        /// <param name="b">EntityTypeBuilder<TEntity> å®žä¾‹ï¼Œç”¨äºŽé…ç½®å®žä½“的属性</param>
        public static void ConfigureMyCmsEntityForRecord<TEntity>(this EntityTypeBuilder<TEntity> b) where TEntity : MyFullAuditedAggregateRootForRecord<Guid>
        {
            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.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.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");
        }
    }
}
CommonDLL/¹«¹²ÊµÌåÀàÀ©Õ¹Àà/MyExtension/MyFullAuditedAggregateRootForRecord.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,94 @@
using System;
using Volo.Abp.Auditing;
using Volo.Abp.Domain.Entities.Auditing;
namespace CMS.Plugin.MyExtension.Domain;
/// <summary>
/// æˆ‘扩展的实体类基类(记录表专用)
/// </summary>
[Serializable]
public abstract class MyFullAuditedAggregateRootForRecord : FullAuditedAggregateRoot
{
    /// <summary>
    /// åˆ›å»ºäºº
    /// </summary>
    public virtual string? CreatorName { get; set; }
    /// <summary>
    /// æŽ’序
    /// </summary>
    public virtual int Sort { get; set; }
    /// <summary>
    /// å¤‡æ³¨
    /// </summary>
    public virtual string? Remark { get; set; }
    /// <summary>
    /// æ‰©å±•字段1
    /// </summary>
    public virtual string? ExtraField1 { get; set; }
    /// <summary>
    /// æ‰©å±•字段2
    /// </summary>
    public virtual string? ExtraField2 { get; set; }
    /// <summary>
    /// æ‰©å±•字段3
    /// </summary>
    public virtual string? ExtraField3 { get; set; }
}
/// <summary>
/// æˆ‘扩展的实体类基类(记录表专用)
/// </summary>
/// <typeparam name="TKey"></typeparam>
[Serializable]
public abstract class MyFullAuditedAggregateRootForRecord<TKey> : FullAuditedAggregateRoot<TKey>
{
    /// <summary>
    /// åˆ›å»ºäºº
    /// </summary>
    public virtual string? CreatorName { get; set; }
    /// <summary>
    /// æŽ’序
    /// </summary>
    public virtual int Sort { get; set; }
    /// <summary>
    /// å¤‡æ³¨
    /// </summary>
    public virtual string? Remark { get; set; }
    /// <summary>
    /// æ‰©å±•字段1
    /// </summary>
    public virtual string? ExtraField1 { get; set; }
    /// <summary>
    /// æ‰©å±•字段2
    /// </summary>
    public virtual string? ExtraField2 { get; set; }
    /// <summary>
    /// æ‰©å±•字段3
    /// </summary>
    public virtual string? ExtraField3 { get; set; }
    protected MyFullAuditedAggregateRootForRecord()
    {
    }
    protected MyFullAuditedAggregateRootForRecord(TKey id)
    : base(id)
    {
    }
}