C# 智能枚举
public class PriorityStatus : SmartEnum<PriorityStatus>
{
public static readonly PriorityStatus Backlog = new(nameof(Backlog), 0);
public static readonly PriorityStatus Critical = new(nameof(Critical), 1);
protected PriorityStatus(string name, int value) : base(name, value) { }
}
客户端使用:
public ProjectStatus Status => _items.All(i => i.IsDone) ? ProjectStatus.Complete : ProjectStatus.InProgress;
基础设施,数据库的实体配置类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using XFMES.Core.ApsAggregate;
using XFMES.Core.ProjectAggregate;
namespace XFMES.Infrastructure.Data.Config.Aps;
public class ShpFcNomarkDetailConfig : IEntityTypeConfiguration<ShpFcNomarkDetail>
{
public void Configure(EntityTypeBuilder<ShpFcNomarkDetail> builder)
{
builder.Property(p => p.DepartmentCategories)
.HasConversion(
p => p.Value,
p => DepartmentCategories.FromValue(p));
}
}
浙公网安备 33010602011771号