sunpengfei
2025-08-05 59833ddbf47ed028462e1b089b46bf7c6f7518e3
feat:字典开发
6个文件已添加
8个文件已修改
2689 ■■■■■ 已修改文件
FlexJobApi.Application/Dictionaries/Commands/SaveDictionaryCategoryCommandHandler.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Application/Dictionaries/Commands/SaveDictionaryDataCommandHandler.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Application/Dictionaries/Commands/SetDictionaryDataIsDisabledCommandHandler.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Application/Dictionaries/Queries/GetDictionaryDatasQueryHandler.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Application/FlexJobApi.Application.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Entities/Common/DictionaryData.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/FlexJobApi.Core.xml 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/Main/Dictionaries/Commands/SaveDictionaryDataCommand.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/Main/Dictionaries/Commands/SetDictionaryDataIsDisabledCommand.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Models/Main/Dictionaries/Queries/GetDictionaryDatasQuery.cs 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Core/Utils/DbUtils/DbUtils.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Database.Migrations/Migrations/20250805102905_UpdateDictionaryData0805002.Designer.cs 2200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Database.Migrations/Migrations/20250805102905_UpdateDictionaryData0805002.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
FlexJobApi.Application/Dictionaries/Commands/SaveDictionaryCategoryCommandHandler.cs
@@ -1,5 +1,6 @@
using FlexJobApi.Core;
using MediatR;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -15,7 +16,9 @@
    {
        public Task<Guid> Handle(SaveDictionaryCategoryCommand request, CancellationToken cancellationToken)
        {
            return request.SaveData<DictionaryCategory, SaveDictionaryCategoryCommand>();
            return request.SaveData<DictionaryCategory, SaveDictionaryCategoryCommand>(
                 (q, e, r) => q.Any(it => it.Id != request.Id && it.Code == request.Code),
                 cancellationToken);
        }
    }
}
FlexJobApi.Application/Dictionaries/Commands/SaveDictionaryDataCommandHandler.cs
New file
@@ -0,0 +1,26 @@
using FlexJobApi.Core;
using MediatR;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Application
{
    /// <summary>
    /// 保存字典数据
    /// </summary>
    public class SaveDictionaryDataCommandHandler : IRequestHandler<SaveDictionaryDataCommand, Guid>
    {
        public Task<Guid> Handle(SaveDictionaryDataCommand request, CancellationToken cancellationToken)
        {
            return request.SaveData<DictionaryData, SaveDictionaryDataCommand>(
                (q, e, r) => q.Any(it =>
                    it.CategoryId == request.CategoryId
                    && it.ParentId == request.ParentId
                    && it.Code == request.Code
                    && it.Content == request.Content), cancellationToken);
        }
    }
}
FlexJobApi.Application/Dictionaries/Commands/SetDictionaryDataIsDisabledCommandHandler.cs
New file
@@ -0,0 +1,34 @@
using FlexJobApi.Core;
using Furion.DatabaseAccessor;
using MediatR;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Application
{
    /// <summary>
    /// 设置字典数据是否禁用
    /// </summary>
    public class SetDictionaryDataIsDisabledCommandHandler(
            IRepository<DictionaryData> rep
        ) : IRequestHandler<SetDictionaryDataIsDisabledCommand, int>
    {
        private readonly IRepository<DictionaryData> rep = rep;
        public async Task<int> Handle(SetDictionaryDataIsDisabledCommand request, CancellationToken cancellationToken)
        {
            var entities = await rep.AsQueryable()
                .Where(it => request.Ids.Contains(it.Id) && it.IsDisabled != request.IsDisabled)
                .ToListAsync();
            foreach (var entity in entities)
            {
                entity.IsDisabled = request.IsDisabled;
            }
            return entities.Count;
        }
    }
}
FlexJobApi.Application/Dictionaries/Queries/GetDictionaryDatasQueryHandler.cs
@@ -1,5 +1,8 @@
using FlexJobApi.Core;
using Furion.DatabaseAccessor;
using Mapster;
using MediatR;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -11,11 +14,32 @@
    /// <summary>
    /// 获取字典数据分页列表
    /// </summary>
    public class GetDictionaryDatasQueryHandler : IRequestHandler<GetDictionaryDatasQuery, PagedListQueryResult<GetDictionaryDatasQueryResultItem>>
    public class GetDictionaryDatasQueryHandler(
            IRepository<DictionaryData> rep
        ) : IRequestHandler<GetDictionaryDatasQuery, PagedListQueryResult<GetDictionaryDatasQueryResultItem>>
    {
        public Task<PagedListQueryResult<GetDictionaryDatasQueryResultItem>> Handle(GetDictionaryDatasQuery request, CancellationToken cancellationToken)
        private readonly IRepository<DictionaryData> rep = rep;
        public async Task<PagedListQueryResult<GetDictionaryDatasQueryResultItem>> Handle(GetDictionaryDatasQuery request, CancellationToken cancellationToken)
        {
            throw new NotImplementedException();
            var q = rep.AsQueryable().AsNoTracking()
                .OrderBy(it => it.Sort).ThenByDescending(it => it.CreatedTime)
                .Where(it => it.CategoryId == request.CategoryId);
            if (request.Keywords.IsNotNull())
            {
                q = q.Where(it =>
                    it.Code.Contains(request.Keywords)
                    || it.Content.Contains(request.Keywords)
                    || it.Field1.Contains(request.Keywords)
                    || it.Field2.Contains(request.Keywords)
                    || it.Field3.Contains(request.Keywords)
                    || it.Field4.Contains(request.Keywords)
                    || it.Field5.Contains(request.Keywords));
            }
            var result = await q
                .ProjectToType<GetDictionaryDatasQueryResultItem>()
                .ToPagedListAsync(request.PageModel, cancellationToken);
            return result;
        }
    }
}
FlexJobApi.Application/FlexJobApi.Application.xml
@@ -14,6 +14,21 @@
            保存字典类别
            </summary>
        </member>
        <member name="T:FlexJobApi.Application.SaveDictionaryDataCommandHandler">
            <summary>
            保存字典数据
            </summary>
        </member>
        <member name="T:FlexJobApi.Application.SetDictionaryDataIsDisabledCommandHandler">
            <summary>
            设置字典数据是否禁用
            </summary>
        </member>
        <member name="M:FlexJobApi.Application.SetDictionaryDataIsDisabledCommandHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.DictionaryData})">
            <summary>
            设置字典数据是否禁用
            </summary>
        </member>
        <member name="T:FlexJobApi.Application.GetDictionaryCategoriesQueryHandler">
            <summary>
            查询字典类别分页列表数据
@@ -29,5 +44,10 @@
            获取字典数据分页列表
            </summary>
        </member>
        <member name="M:FlexJobApi.Application.GetDictionaryDatasQueryHandler.#ctor(Furion.DatabaseAccessor.IRepository{FlexJobApi.Core.DictionaryData})">
            <summary>
            获取字典数据分页列表
            </summary>
        </member>
    </members>
</doc>
FlexJobApi.Core/Entities/Common/DictionaryData.cs
@@ -87,6 +87,11 @@
        /// </summary>
        public string Field5 { get; set; }
        /// <summary>
        /// 是否禁用
        /// </summary>
        public bool IsDisabled { get; set; }
        public void Configure(EntityTypeBuilder<DictionaryData> entityBuilder, DbContext dbContext, Type dbContextLocator)
        {
            entityBuilder
FlexJobApi.Core/FlexJobApi.Core.xml
@@ -154,6 +154,11 @@
            字段5
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.DictionaryData.IsDisabled">
            <summary>
            是否禁用
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.FileStore">
            <summary>
            文件存储
@@ -2104,6 +2109,81 @@
            排序
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.SaveDictionaryDataCommand">
            <summary>
            保存字典数据
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveDictionaryDataCommand.CategoryId">
            <summary>
            类别Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveDictionaryDataCommand.ParentId">
            <summary>
            上级Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveDictionaryDataCommand.Code">
            <summary>
            编号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveDictionaryDataCommand.Content">
            <summary>
            显示内容
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveDictionaryDataCommand.Field1">
            <summary>
            字段1
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveDictionaryDataCommand.Field2">
            <summary>
            字段2
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveDictionaryDataCommand.Field3">
            <summary>
            字段3
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveDictionaryDataCommand.Field4">
            <summary>
            字段4
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveDictionaryDataCommand.Field5">
            <summary>
            字段5
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveDictionaryDataCommand.Sort">
            <summary>
            排序
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SaveDictionaryDataCommand.IsDisabled">
            <summary>
            是否禁用
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.SetDictionaryDataIsDisabledCommand">
            <summary>
            设置字典数据是否禁用
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetDictionaryDataIsDisabledCommand.Ids">
            <summary>
            Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.SetDictionaryDataIsDisabledCommand.IsDisabled">
            <summary>
            是否禁用
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetDictionaryCategoriesQuery">
            <summary>
            查询字典类别分页列表数据
@@ -2144,9 +2224,79 @@
            获取字典数据分页列表
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetDictionaryDatasQuery.CategoryId">
            <summary>
            类别Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetDictionaryDatasQuery.Keywords">
            <summary>
            关键字
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.GetDictionaryDatasQueryResultItem">
            <summary>
            获取字典数据分页列表-结果-行数据
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetDictionaryDatasQueryResultItem.Id">
            <summary>
            Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetDictionaryDatasQueryResultItem.CategoryId">
            <summary>
            类别Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetDictionaryDatasQueryResultItem.ParentId">
            <summary>
            上级Id
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetDictionaryDatasQueryResultItem.Code">
            <summary>
            编号
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetDictionaryDatasQueryResultItem.Content">
            <summary>
            显示内容
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetDictionaryDatasQueryResultItem.Field1">
            <summary>
            字段1
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetDictionaryDatasQueryResultItem.Field2">
            <summary>
            字段2
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetDictionaryDatasQueryResultItem.Field3">
            <summary>
            字段3
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetDictionaryDatasQueryResultItem.Field4">
            <summary>
            字段4
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetDictionaryDatasQueryResultItem.Field5">
            <summary>
            字段5
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetDictionaryDatasQueryResultItem.Sort">
            <summary>
            排序
            </summary>
        </member>
        <member name="P:FlexJobApi.Core.GetDictionaryDatasQueryResultItem.IsDisabled">
            <summary>
            是否禁用
            </summary>
        </member>
        <member name="T:FlexJobApi.Core.PasswordLoginCommand">
@@ -3605,13 +3755,12 @@
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:FlexJobApi.Core.DbUtils.SaveData``2(``1,System.Func{``0,``1,System.Boolean},System.Threading.CancellationToken)">
        <member name="M:FlexJobApi.Core.DbUtils.SaveData``2(``1,System.Func{System.Linq.IQueryable{``0},``0,``1,System.Boolean},System.Threading.CancellationToken)">
            <summary>
            保存数据
            </summary>
            <typeparam name="TEntity"></typeparam>
            <typeparam name="TRequest"></typeparam>
            <param name="rep"></param>
            <param name="request"></param>
            <param name="checkExist"></param>
            <param name="cancellationToken"></param>
FlexJobApi.Core/Models/Main/Dictionaries/Commands/SaveDictionaryDataCommand.cs
New file
@@ -0,0 +1,74 @@
using MediatR;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 保存字典数据
    /// </summary>
    [Resource([EnumResourceController.Dictionary])]
    public class SaveDictionaryDataCommand : SaveDataCommand, IRequest<Guid>
    {
        /// <summary>
        /// 类别Id
        /// </summary>
        public Guid CategoryId { get; set; }
        /// <summary>
        /// 上级Id
        /// </summary>
        public Guid? ParentId { get; set; }
        /// <summary>
        /// 编号
        /// </summary>
        [MaxLength(128)]
        public string Code { get; set; }
        /// <summary>
        /// 显示内容
        /// </summary>
        [Required]
        public string Content { get; set; }
        /// <summary>
        /// 字段1
        /// </summary>
        public string Field1 { get; set; }
        /// <summary>
        /// 字段2
        /// </summary>
        public string Field2 { get; set; }
        /// <summary>
        /// 字段3
        /// </summary>
        public string Field3 { get; set; }
        /// <summary>
        /// 字段4
        /// </summary>
        public string Field4 { get; set; }
        /// <summary>
        /// 字段5
        /// </summary>
        public string Field5 { get; set; }
        /// <summary>
        /// 排序
        /// </summary>
        public int Sort { get; set; }
        /// <summary>
        /// 是否禁用
        /// </summary>
        public bool IsDisabled { get; set; }
    }
}
FlexJobApi.Core/Models/Main/Dictionaries/Commands/SetDictionaryDataIsDisabledCommand.cs
New file
@@ -0,0 +1,31 @@
using MediatR;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
    /// <summary>
    /// 设置字典数据是否禁用
    /// </summary>
    [Resource([EnumResourceController.Dictionary])]
    public class SetDictionaryDataIsDisabledCommand : IRequest<int>
    {
        public SetDictionaryDataIsDisabledCommand()
        {
            Ids = [];
        }
        /// <summary>
        /// Id
        /// </summary>
        public List<Guid> Ids { get; set; }
        /// <summary>
        /// 是否禁用
        /// </summary>
        public bool IsDisabled { get; set; }
    }
}
FlexJobApi.Core/Models/Main/Dictionaries/Queries/GetDictionaryDatasQuery.cs
@@ -1,6 +1,7 @@
using MediatR;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -13,6 +14,15 @@
    [Resource([EnumResourceController.Dictionary])]
    public class GetDictionaryDatasQuery : PagedListQuery<PagedListQueryResult<GetDictionaryDatasQueryResultItem>, GetDictionaryDatasQueryResultItem> , IRequest<PagedListQueryResult<GetDictionaryDatasQueryResultItem>>
    {
        /// <summary>
        /// 类别Id
        /// </summary>
        public Guid CategoryId { get; set; }
        /// <summary>
        /// 关键字
        /// </summary>
        public string Keywords { get; set; }
    }
    /// <summary>
@@ -20,6 +30,66 @@
    /// </summary>
    public class GetDictionaryDatasQueryResultItem
    {
        /// <summary>
        /// Id
        /// </summary>
        public Guid Id { get; set; }
        /// <summary>
        /// 类别Id
        /// </summary>
        public Guid CategoryId { get; set; }
        /// <summary>
        /// 上级Id
        /// </summary>
        public Guid? ParentId { get; set; }
        /// <summary>
        /// 编号
        /// </summary>
        [MaxLength(128)]
        public string Code { get; set; }
        /// <summary>
        /// 显示内容
        /// </summary>
        [Required]
        public string Content { get; set; }
        /// <summary>
        /// 字段1
        /// </summary>
        public string Field1 { get; set; }
        /// <summary>
        /// 字段2
        /// </summary>
        public string Field2 { get; set; }
        /// <summary>
        /// 字段3
        /// </summary>
        public string Field3 { get; set; }
        /// <summary>
        /// 字段4
        /// </summary>
        public string Field4 { get; set; }
        /// <summary>
        /// 字段5
        /// </summary>
        public string Field5 { get; set; }
        /// <summary>
        /// 排序
        /// </summary>
        public int Sort { get; set; }
        /// <summary>
        /// 是否禁用
        /// </summary>
        public bool IsDisabled { get; set; }
    }
}
FlexJobApi.Core/Utils/DbUtils/DbUtils.cs
@@ -51,12 +51,11 @@
        /// </summary>
        /// <typeparam name="TEntity"></typeparam>
        /// <typeparam name="TRequest"></typeparam>
        /// <param name="rep"></param>
        /// <param name="request"></param>
        /// <param name="checkExist"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public static async Task<Guid> SaveData<TEntity, TRequest>(this TRequest request, Func<TEntity, TRequest, bool> checkExist = null, CancellationToken cancellationToken = default)
        public static async Task<Guid> SaveData<TEntity, TRequest>(this TRequest request, Func<IQueryable<TEntity>, TEntity, TRequest, bool> checkExist = null, CancellationToken cancellationToken = default)
            where TEntity : CommonEntity, new()
            where TRequest : SaveDataCommand, new()
        {
@@ -67,7 +66,7 @@
            {
                var entity = await rep.AsQueryable().FirstOrDefaultAsync(it => it.Id == request.Id, cancellationToken);
                if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, $"该{summary ?? "信息"}");
                if (checkExist != null && checkExist(entity, request)) throw Oops.Oh(EnumErrorCodeType.s405, $"该{summary ?? "信息"}");
                if (checkExist != null && checkExist(rep.AsQueryable().AsNoTracking(), entity, request)) throw Oops.Oh(EnumErrorCodeType.s405, $"该{summary ?? "信息"}");
                request.Adapt(entity);
                await rep.UpdateAsync(entity);
                return entity.Id;
@@ -75,7 +74,7 @@
            else
            {
                var entity = new TEntity();
                if (checkExist != null && checkExist(entity, request)) throw Oops.Oh(EnumErrorCodeType.s405, $"该{summary ?? "信息"}");
                if (checkExist != null && checkExist(rep.AsQueryable().AsNoTracking(), entity, request)) throw Oops.Oh(EnumErrorCodeType.s405, $"该{summary ?? "信息"}");
                request.Adapt(entity);
                await rep.InsertAsync(entity);
                return entity.Id;
FlexJobApi.Database.Migrations/Migrations/20250805102905_UpdateDictionaryData0805002.Designer.cs
New file
@@ -0,0 +1,2200 @@
// <auto-generated />
using System;
using FlexJobApi.EntityFramework.Core;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace FlexJobApi.Database.Migrations.Migrations
{
    [DbContext(typeof(DefaultDbContext))]
    [Migration("20250805102905_UpdateDictionaryData0805002")]
    partial class UpdateDictionaryData0805002
    {
        /// <inheritdoc />
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .HasAnnotation("ProductVersion", "9.0.7")
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
            modelBuilder.Entity("FlexJobApi.Core.Department", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<Guid>("EnterpriseId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("企业Id");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsDisabled")
                        .HasColumnType("bit")
                        .HasComment("是否禁用");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("名称");
                    b.Property<Guid?>("ParentId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("上级Id");
                    b.Property<string>("Path")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("部门路径");
                    b.Property<string>("Remark")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.HasIndex("EnterpriseId");
                    b.HasIndex("ParentId");
                    b.ToTable("Department", t =>
                        {
                            t.HasComment("部门");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.DictionaryCategory", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("Code")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("编号");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<string>("FieldNames")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("字段名(逗号隔开)");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("名称");
                    b.Property<string>("Remark")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.ToTable("DictionaryCategory", t =>
                        {
                            t.HasComment("字典类别");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.DictionaryData", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<Guid>("CategoryId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("类别Id");
                    b.Property<string>("Code")
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("编号");
                    b.Property<string>("Content")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("显示内容");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<string>("Field1")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("字段1");
                    b.Property<string>("Field2")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("字段2");
                    b.Property<string>("Field3")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("字段3");
                    b.Property<string>("Field4")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("字段4");
                    b.Property<string>("Field5")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("字段5");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsDisabled")
                        .HasColumnType("bit")
                        .HasComment("是否禁用");
                    b.Property<Guid?>("ParentId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("上级Id");
                    b.Property<string>("Path")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("字典路径");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.HasIndex("CategoryId");
                    b.HasIndex("ParentId");
                    b.ToTable("DictionaryData", t =>
                        {
                            t.HasComment("字典数据");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.Enterprise", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("BankCard")
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("法人或经办人银行卡号");
                    b.Property<Guid?>("BankCardImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("法人或经办人银行卡照片Id");
                    b.Property<string>("ContactNumber")
                        .HasMaxLength(11)
                        .HasColumnType("nvarchar(11)")
                        .HasComment("联系电话");
                    b.Property<string>("Contacts")
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("联系人");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<string>("EnterpriseName")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("企业全称");
                    b.Property<int?>("EnterpriseRealMethod")
                        .HasColumnType("int")
                        .HasComment("企业认证方式");
                    b.Property<string>("Identity")
                        .HasMaxLength(18)
                        .HasColumnType("nvarchar(18)")
                        .HasComment("法人或经办人身份证号");
                    b.Property<Guid?>("IdentityBackImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("法人或经办人身份证国徽面Id");
                    b.Property<Guid?>("IdentityImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("法人或经办人身份证人像面Id");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsReal")
                        .HasColumnType("bit")
                        .HasComment("是否实名");
                    b.Property<string>("LegalPerson")
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("法人姓名");
                    b.Property<Guid?>("LicenseImageId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("营业执照照片Id");
                    b.Property<string>("Name")
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("法人或经办人姓名");
                    b.Property<int?>("PersonalRealMethod")
                        .HasColumnType("int")
                        .HasComment("法人或经办人实名方式");
                    b.Property<string>("PhoneNumber")
                        .HasMaxLength(11)
                        .HasColumnType("nvarchar(11)")
                        .HasComment("法人或经办人手机号");
                    b.Property<bool?>("Proxy")
                        .HasColumnType("bit")
                        .HasComment("是否委托经办人");
                    b.Property<string>("ProxyPowerAttorneyUrl")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("企业授权书");
                    b.Property<int?>("RealAccess")
                        .HasColumnType("int")
                        .HasComment("实名通道");
                    b.Property<string>("SocietyCreditCode")
                        .IsRequired()
                        .HasMaxLength(18)
                        .HasColumnType("nvarchar(18)")
                        .HasComment("统一社会信用代码");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.HasIndex("IdentityBackImgId");
                    b.HasIndex("IdentityImgId");
                    b.HasIndex("LicenseImageId");
                    b.ToTable("Enterprise", t =>
                        {
                            t.HasComment("企业");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.FileStore", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("AbsolutePath")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("绝对路径");
                    b.Property<int>("Access")
                        .HasColumnType("int")
                        .HasComment("通道");
                    b.Property<string>("ContentType")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("内容类型");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<string>("Extension")
                        .IsRequired()
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("扩展名");
                    b.Property<int>("FileType")
                        .HasColumnType("int")
                        .HasComment("文件类型");
                    b.Property<string>("Hash")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("哈希");
                    b.Property<int?>("ImageHeight")
                        .HasColumnType("int")
                        .HasComment("高度(像素)");
                    b.Property<int?>("ImageWidth")
                        .HasColumnType("int")
                        .HasComment("宽度(像素)");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<long>("Length")
                        .HasColumnType("bigint")
                        .HasComment("文件大小(字节)");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("名称");
                    b.Property<string>("RelativePath")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("相对路径");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.ToTable("FileStore", t =>
                        {
                            t.HasComment("文件存储");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.FileVirtualPath", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("名称");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<Guid>("StoreId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("文件存储Id");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<string>("VirtualPath")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("虚拟路径");
                    b.HasKey("Id");
                    b.HasIndex("StoreId");
                    b.ToTable("FileVirtualPath", t =>
                        {
                            t.HasComment("文件虚拟路径");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.Menu", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<int>("ClientType")
                        .HasColumnType("int")
                        .HasComment("客户端类型");
                    b.Property<string>("Code")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("编号");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<string>("Group")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("分组名称(用于按钮/字段)");
                    b.Property<string>("Icon")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("图标");
                    b.Property<bool>("IsCache")
                        .HasColumnType("bit")
                        .HasComment("是否缓存");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsDisabled")
                        .HasColumnType("bit")
                        .HasComment("是否禁用");
                    b.Property<string>("Location")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("位置(用于按钮)");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("名称");
                    b.Property<Guid?>("ParentId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("上级Id");
                    b.Property<string>("Path")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("菜单路径");
                    b.Property<string>("Remark")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<int>("Type")
                        .HasColumnType("int")
                        .HasComment("类型");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<string>("Url")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("链接地址");
                    b.Property<int>("UserType")
                        .HasColumnType("int")
                        .HasComment("用户类型");
                    b.Property<int>("VisitLevel")
                        .HasColumnType("int")
                        .HasComment("访问级别");
                    b.Property<string>("Width")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("列宽(用于按钮/列/元素)");
                    b.HasKey("Id");
                    b.HasIndex("ParentId");
                    b.ToTable("Menu", t =>
                        {
                            t.HasComment("菜单");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.Resource", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("ActionName")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("委托名称");
                    b.Property<string>("Code")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("编号");
                    b.Property<int>("Controller")
                        .HasColumnType("int")
                        .HasComment("控制器");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsExpired")
                        .HasColumnType("bit")
                        .HasComment("是否已过期");
                    b.Property<int>("Method")
                        .HasColumnType("int")
                        .HasComment("请求方式");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("名称");
                    b.Property<string>("RequestTypeFullName")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("请求类型全名");
                    b.Property<string>("RequestTypeName")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("请求类型名称");
                    b.Property<string>("ResponseTypeFullName")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("响应类型全名");
                    b.Property<string>("ResponseTypeName")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("响应类型名称");
                    b.Property<string>("Route")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("路由");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.ToTable("Resource", t =>
                        {
                            t.HasComment("资源");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.Role", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<int>("ClientType")
                        .HasColumnType("int")
                        .HasComment("客户端类型");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<int>("DataPower")
                        .HasColumnType("int")
                        .HasComment("数据权限");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsDisabled")
                        .HasColumnType("bit")
                        .HasComment("是否禁用");
                    b.Property<int>("MinLevel")
                        .HasColumnType("int")
                        .HasComment("最低级别");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("名称");
                    b.Property<string>("Remark")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<int>("UserType")
                        .HasColumnType("int")
                        .HasComment("用户类型");
                    b.HasKey("Id");
                    b.ToTable("Role", t =>
                        {
                            t.HasComment("角色");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.RoleMenu", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<Guid>("MenuId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("菜单Id");
                    b.Property<Guid>("RoleId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("角色Id");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.HasIndex("MenuId");
                    b.HasIndex("RoleId");
                    b.ToTable("RoleMenu", t =>
                        {
                            t.HasComment("角色菜单");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.RoleResource", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<int>("DataPower")
                        .HasColumnType("int")
                        .HasComment("数据权限");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<Guid>("ResourceId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("资源Id");
                    b.Property<Guid>("RoleId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("角色Id");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.HasIndex("ResourceId");
                    b.HasIndex("RoleId");
                    b.ToTable("RoleResource", t =>
                        {
                            t.HasComment("角色资源");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.TaskInfo", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("Address")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("任务地点详细地址");
                    b.Property<int>("AgeMaxLimit")
                        .HasColumnType("int")
                        .HasComment("年龄范围大");
                    b.Property<int>("AgeMinLimit")
                        .HasColumnType("int")
                        .HasComment("年龄范围最小");
                    b.Property<DateTime>("BeginTime")
                        .HasColumnType("datetime2")
                        .HasComment("任务开始时间");
                    b.Property<int>("BillingMethod")
                        .HasColumnType("int")
                        .HasComment("计费方式");
                    b.Property<Guid>("CityId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("任务地点所属区域Id");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<DateTime>("EndTime")
                        .HasColumnType("datetime2")
                        .HasComment("任务结束时间");
                    b.Property<Guid>("EnterpriseId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("企业Id");
                    b.Property<int>("GenderLimit")
                        .HasColumnType("int")
                        .HasComment("性别要求");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)")
                        .HasComment("任务名称");
                    b.Property<decimal>("ServiceFee")
                        .HasColumnType("decimal(18,2)")
                        .HasComment("服务费");
                    b.Property<int>("SettlementCycle")
                        .HasColumnType("int")
                        .HasComment("结算方式");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.HasIndex("CityId");
                    b.HasIndex("EnterpriseId");
                    b.ToTable("TaskInfo", t =>
                        {
                            t.HasComment("任务信息");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.TaskInfoBenefit", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<Guid>("BenefitId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("福利Id");
                    b.Property<Guid>("BenefitId1")
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<Guid>("TaskInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("任务Id");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.HasIndex("BenefitId");
                    b.HasIndex("BenefitId1");
                    b.ToTable("TaskInfoBenefit", t =>
                        {
                            t.HasComment("任务福利");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.TaskInfoCredentialLimit", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<Guid>("TaskInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("任务Id");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<Guid?>("TypeId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("证书类型Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.HasKey("Id");
                    b.HasIndex("TaskInfoId");
                    b.HasIndex("TypeId");
                    b.ToTable("TaskInfoCredentialLimit");
                });
            modelBuilder.Entity("FlexJobApi.Core.TaskInfoUser", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<int>("HireStatus")
                        .HasColumnType("int")
                        .HasComment("录用状态");
                    b.Property<DateTime?>("HireTime")
                        .HasColumnType("datetime2")
                        .HasComment("录用时间");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<int?>("SignContractStatus")
                        .HasColumnType("int")
                        .HasComment("签约状态");
                    b.Property<DateTime?>("SignContractTime")
                        .HasColumnType("datetime2")
                        .HasComment("签约时间");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<Guid>("TaskInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("任务Id");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<Guid>("UserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("用户信息Id");
                    b.HasKey("Id");
                    b.HasIndex("TaskInfoId");
                    b.HasIndex("UserInfoId");
                    b.ToTable("TaskInfoUser", t =>
                        {
                            t.HasComment("任务用户信息");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.UserAuth", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<Guid?>("AvatarId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("头像Id");
                    b.Property<string>("BankCard")
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("银行卡号");
                    b.Property<Guid?>("BankCardImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("银行卡照片Id");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<string>("Identity")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("身份证号");
                    b.Property<Guid?>("IdentityBackImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("身份证国徽面Id");
                    b.Property<Guid?>("IdentityImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("身份证人像面Id");
                    b.Property<bool>("IsCheckPhoneNumber")
                        .HasColumnType("bit")
                        .HasComment("是否已校验手机号");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsReal")
                        .HasColumnType("bit")
                        .HasComment("是否实名");
                    b.Property<string>("Name")
                        .IsRequired()
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("姓名");
                    b.Property<string>("Password")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("密码");
                    b.Property<string>("PhoneNumber")
                        .HasMaxLength(11)
                        .HasColumnType("nvarchar(11)")
                        .HasComment("手机号");
                    b.Property<int?>("RealAccess")
                        .HasColumnType("int")
                        .HasComment("实名通道");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<string>("UserName")
                        .IsRequired()
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("用户名");
                    b.HasKey("Id");
                    b.HasIndex("AvatarId");
                    b.HasIndex("BankCardImgId");
                    b.HasIndex("IdentityBackImgId");
                    b.HasIndex("IdentityImgId");
                    b.ToTable("UserAuth", t =>
                        {
                            t.HasComment("用户");
                        });
                    b.HasData(
                        new
                        {
                            Id = new Guid("11111111-1111-1111-1111-111111111111"),
                            CreatedTime = new DateTimeOffset(new DateTime(2000, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 8, 0, 0, 0)),
                            IsCheckPhoneNumber = false,
                            IsDeleted = false,
                            IsReal = false,
                            Name = "管理员",
                            Password = "iEYggKrMhQ3ASUGLobra1w==:fn/DsMJUbD9FGpvBvR3moMpMPptdxzZlourPVhU479I=",
                            Sort = 0,
                            UserName = "system"
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfo", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<Guid?>("CityId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("常驻城市Id");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<Guid?>("EducationalBackgroundId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("学历Id");
                    b.Property<Guid?>("EnterpriseId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("企业Id");
                    b.Property<int?>("FreeTime")
                        .HasColumnType("int")
                        .HasComment("空闲时间");
                    b.Property<int?>("Height")
                        .HasColumnType("int")
                        .HasComment("身高");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<int?>("JobSeekingStatus")
                        .HasColumnType("int")
                        .HasComment("求职状态");
                    b.Property<int>("Level")
                        .HasColumnType("int")
                        .HasComment("级别");
                    b.Property<Guid?>("PersonalIdentityId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("身份Id");
                    b.Property<string>("Remark")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<int>("Status")
                        .HasColumnType("int")
                        .HasComment("状态");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<int>("Type")
                        .HasColumnType("int")
                        .HasComment("用户类型");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<Guid>("UserAuthId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("用户Id");
                    b.Property<int?>("Weight")
                        .HasColumnType("int")
                        .HasComment("体重");
                    b.Property<string>("WorkExperience")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("工作经验");
                    b.Property<string>("WorkSeniority")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("工作资历");
                    b.Property<string>("WxmpOpenId")
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("微信开放Id");
                    b.HasKey("Id");
                    b.HasIndex("CityId");
                    b.HasIndex("EducationalBackgroundId");
                    b.HasIndex("EnterpriseId");
                    b.HasIndex("PersonalIdentityId");
                    b.HasIndex("UserAuthId");
                    b.ToTable("UserInfo", t =>
                        {
                            t.HasComment("用户信息");
                        });
                    b.HasData(
                        new
                        {
                            Id = new Guid("11111111-1111-1111-1111-111111111112"),
                            CreatedTime = new DateTimeOffset(new DateTime(2000, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), new TimeSpan(0, 8, 0, 0, 0)),
                            IsDeleted = false,
                            Level = 999,
                            Sort = 0,
                            Status = 0,
                            Type = 100,
                            UserAuthId = new Guid("11111111-1111-1111-1111-111111111111")
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoBankCard", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<string>("Bank")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("开户行");
                    b.Property<string>("Code")
                        .IsRequired()
                        .HasMaxLength(32)
                        .HasColumnType("nvarchar(32)")
                        .HasComment("银行卡号");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<string>("PhoneNumber")
                        .IsRequired()
                        .HasMaxLength(11)
                        .HasColumnType("nvarchar(11)")
                        .HasComment("银行预留手机号");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<Guid>("UserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("用户信息Id");
                    b.HasKey("Id");
                    b.HasIndex("UserInfoId");
                    b.ToTable("UserInfoBankCard", t =>
                        {
                            t.HasComment("用户银行卡信息");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoCredential", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<Guid?>("BackImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("证书反面照片Id");
                    b.Property<string>("Code")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("nvarchar(128)")
                        .HasComment("证书编号");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<DateTime>("EndDate")
                        .HasColumnType("datetime2")
                        .HasComment("结束日期");
                    b.Property<Guid>("ImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("证书正面照片Id");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsForever")
                        .HasColumnType("bit")
                        .HasComment("永久证书");
                    b.Property<string>("IssueUnit")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("发证单位");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<DateTime>("StartDate")
                        .HasColumnType("datetime2")
                        .HasComment("开始日期");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<Guid?>("TypeId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("证书类型Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<Guid>("UserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("用户信息Id");
                    b.HasKey("Id");
                    b.HasIndex("BackImgId");
                    b.HasIndex("ImgId");
                    b.HasIndex("TypeId");
                    b.HasIndex("UserInfoId");
                    b.ToTable("UserInfoCredential", t =>
                        {
                            t.HasComment("用户信息资格证书");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoDepartment", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<Guid>("DepartmentId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("部门Id");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<Guid>("UserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("用户信息Id");
                    b.HasKey("Id");
                    b.HasIndex("DepartmentId");
                    b.HasIndex("UserInfoId");
                    b.ToTable("UserInfoDepartment", t =>
                        {
                            t.HasComment("用户信息部门");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoExpectJob", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<Guid>("PersonalIdentityId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("期望岗位Id");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<Guid>("UserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("用户信息Id");
                    b.HasKey("Id");
                    b.HasIndex("PersonalIdentityId");
                    b.HasIndex("UserInfoId");
                    b.ToTable("UserInfoExpectJob", t =>
                        {
                            t.HasComment("用户信息期望岗位");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoPhoto", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<Guid>("ImgId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("照片Id");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<Guid>("UserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("用户信息Id");
                    b.HasKey("Id");
                    b.HasIndex("ImgId");
                    b.HasIndex("UserInfoId");
                    b.ToTable("UserInfoPhoto", t =>
                        {
                            t.HasComment("用户信息生活照");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoRole", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");
                    b.Property<DateTimeOffset>("CreatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("CreatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("创建操作人");
                    b.Property<bool>("IsDeleted")
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<Guid>("RoleId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("角色Id");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("TraceId")
                        .HasColumnType("nvarchar(max)")
                        .HasComment("跟踪Id");
                    b.Property<DateTimeOffset?>("UpdatedTime")
                        .HasColumnType("datetimeoffset");
                    b.Property<Guid?>("UpdatedUserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("最后更新操作人");
                    b.Property<Guid>("UserInfoId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("用户信息Id");
                    b.HasKey("Id");
                    b.HasIndex("RoleId");
                    b.HasIndex("UserInfoId");
                    b.ToTable("UserInfoRole", t =>
                        {
                            t.HasComment("用户信息角色");
                        });
                });
            modelBuilder.Entity("FlexJobApi.Core.Department", b =>
                {
                    b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise")
                        .WithMany("Departments")
                        .HasForeignKey("EnterpriseId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.Department", "Parent")
                        .WithMany("Children")
                        .HasForeignKey("ParentId");
                    b.Navigation("Enterprise");
                    b.Navigation("Parent");
                });
            modelBuilder.Entity("FlexJobApi.Core.DictionaryData", b =>
                {
                    b.HasOne("FlexJobApi.Core.DictionaryCategory", "Category")
                        .WithMany()
                        .HasForeignKey("CategoryId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.DictionaryData", "Parent")
                        .WithMany("Children")
                        .HasForeignKey("ParentId");
                    b.Navigation("Category");
                    b.Navigation("Parent");
                });
            modelBuilder.Entity("FlexJobApi.Core.Enterprise", b =>
                {
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "IdentityBackImg")
                        .WithMany()
                        .HasForeignKey("IdentityBackImgId");
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "IdentityImg")
                        .WithMany()
                        .HasForeignKey("IdentityImgId");
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "LicenseImage")
                        .WithMany()
                        .HasForeignKey("LicenseImageId");
                    b.Navigation("IdentityBackImg");
                    b.Navigation("IdentityImg");
                    b.Navigation("LicenseImage");
                });
            modelBuilder.Entity("FlexJobApi.Core.FileVirtualPath", b =>
                {
                    b.HasOne("FlexJobApi.Core.FileStore", "Store")
                        .WithMany()
                        .HasForeignKey("StoreId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("Store");
                });
            modelBuilder.Entity("FlexJobApi.Core.Menu", b =>
                {
                    b.HasOne("FlexJobApi.Core.Menu", "Parent")
                        .WithMany("Children")
                        .HasForeignKey("ParentId");
                    b.Navigation("Parent");
                });
            modelBuilder.Entity("FlexJobApi.Core.RoleMenu", b =>
                {
                    b.HasOne("FlexJobApi.Core.Menu", "Menu")
                        .WithMany()
                        .HasForeignKey("MenuId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.Role", "Role")
                        .WithMany("RoleMenus")
                        .HasForeignKey("RoleId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("Menu");
                    b.Navigation("Role");
                });
            modelBuilder.Entity("FlexJobApi.Core.RoleResource", b =>
                {
                    b.HasOne("FlexJobApi.Core.Resource", "Resource")
                        .WithMany()
                        .HasForeignKey("ResourceId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.Role", "Role")
                        .WithMany("RoleResources")
                        .HasForeignKey("RoleId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("Resource");
                    b.Navigation("Role");
                });
            modelBuilder.Entity("FlexJobApi.Core.TaskInfo", b =>
                {
                    b.HasOne("FlexJobApi.Core.DictionaryData", "City")
                        .WithMany()
                        .HasForeignKey("CityId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise")
                        .WithMany()
                        .HasForeignKey("EnterpriseId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("City");
                    b.Navigation("Enterprise");
                });
            modelBuilder.Entity("FlexJobApi.Core.TaskInfoBenefit", b =>
                {
                    b.HasOne("FlexJobApi.Core.TaskInfo", "TaskInfo")
                        .WithMany("Benefits")
                        .HasForeignKey("BenefitId")
                        .OnDelete(DeleteBehavior.Restrict)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.DictionaryData", "Benefit")
                        .WithMany()
                        .HasForeignKey("BenefitId1")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("Benefit");
                    b.Navigation("TaskInfo");
                });
            modelBuilder.Entity("FlexJobApi.Core.TaskInfoCredentialLimit", b =>
                {
                    b.HasOne("FlexJobApi.Core.TaskInfo", "TaskInfo")
                        .WithMany("CredentialLimits")
                        .HasForeignKey("TaskInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.DictionaryData", "Type")
                        .WithMany()
                        .HasForeignKey("TypeId");
                    b.Navigation("TaskInfo");
                    b.Navigation("Type");
                });
            modelBuilder.Entity("FlexJobApi.Core.TaskInfoUser", b =>
                {
                    b.HasOne("FlexJobApi.Core.TaskInfo", "TaskInfo")
                        .WithMany()
                        .HasForeignKey("TaskInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
                        .WithMany()
                        .HasForeignKey("UserInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("TaskInfo");
                    b.Navigation("UserInfo");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserAuth", b =>
                {
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "Avatar")
                        .WithMany()
                        .HasForeignKey("AvatarId");
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "BankCardImg")
                        .WithMany()
                        .HasForeignKey("BankCardImgId");
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "IdentityBackImg")
                        .WithMany()
                        .HasForeignKey("IdentityBackImgId");
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "IdentityImg")
                        .WithMany()
                        .HasForeignKey("IdentityImgId");
                    b.Navigation("Avatar");
                    b.Navigation("BankCardImg");
                    b.Navigation("IdentityBackImg");
                    b.Navigation("IdentityImg");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfo", b =>
                {
                    b.HasOne("FlexJobApi.Core.DictionaryData", "City")
                        .WithMany()
                        .HasForeignKey("CityId");
                    b.HasOne("FlexJobApi.Core.DictionaryData", "EducationalBackground")
                        .WithMany()
                        .HasForeignKey("EducationalBackgroundId");
                    b.HasOne("FlexJobApi.Core.Enterprise", "Enterprise")
                        .WithMany("UserInfos")
                        .HasForeignKey("EnterpriseId");
                    b.HasOne("FlexJobApi.Core.DictionaryData", "PersonalIdentity")
                        .WithMany()
                        .HasForeignKey("PersonalIdentityId");
                    b.HasOne("FlexJobApi.Core.UserAuth", "UserAuth")
                        .WithMany("UserInfos")
                        .HasForeignKey("UserAuthId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("City");
                    b.Navigation("EducationalBackground");
                    b.Navigation("Enterprise");
                    b.Navigation("PersonalIdentity");
                    b.Navigation("UserAuth");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoBankCard", b =>
                {
                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
                        .WithMany()
                        .HasForeignKey("UserInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("UserInfo");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoCredential", b =>
                {
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "BackImg")
                        .WithMany()
                        .HasForeignKey("BackImgId");
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "Img")
                        .WithMany()
                        .HasForeignKey("ImgId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.DictionaryData", "Type")
                        .WithMany()
                        .HasForeignKey("TypeId");
                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
                        .WithMany("UserInfoCredentials")
                        .HasForeignKey("UserInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("BackImg");
                    b.Navigation("Img");
                    b.Navigation("Type");
                    b.Navigation("UserInfo");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoDepartment", b =>
                {
                    b.HasOne("FlexJobApi.Core.Department", "Department")
                        .WithMany()
                        .HasForeignKey("DepartmentId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
                        .WithMany("UserInfoDepartments")
                        .HasForeignKey("UserInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("Department");
                    b.Navigation("UserInfo");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoExpectJob", b =>
                {
                    b.HasOne("FlexJobApi.Core.DictionaryData", "PersonalIdentity")
                        .WithMany()
                        .HasForeignKey("PersonalIdentityId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
                        .WithMany("UserInfoExpectJobs")
                        .HasForeignKey("UserInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("PersonalIdentity");
                    b.Navigation("UserInfo");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoPhoto", b =>
                {
                    b.HasOne("FlexJobApi.Core.FileVirtualPath", "Img")
                        .WithMany()
                        .HasForeignKey("ImgId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
                        .WithMany()
                        .HasForeignKey("UserInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("Img");
                    b.Navigation("UserInfo");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfoRole", b =>
                {
                    b.HasOne("FlexJobApi.Core.Role", "Role")
                        .WithMany("UserInfoRoles")
                        .HasForeignKey("RoleId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.HasOne("FlexJobApi.Core.UserInfo", "UserInfo")
                        .WithMany("UserInfoRoles")
                        .HasForeignKey("UserInfoId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                    b.Navigation("Role");
                    b.Navigation("UserInfo");
                });
            modelBuilder.Entity("FlexJobApi.Core.Department", b =>
                {
                    b.Navigation("Children");
                });
            modelBuilder.Entity("FlexJobApi.Core.DictionaryData", b =>
                {
                    b.Navigation("Children");
                });
            modelBuilder.Entity("FlexJobApi.Core.Enterprise", b =>
                {
                    b.Navigation("Departments");
                    b.Navigation("UserInfos");
                });
            modelBuilder.Entity("FlexJobApi.Core.Menu", b =>
                {
                    b.Navigation("Children");
                });
            modelBuilder.Entity("FlexJobApi.Core.Role", b =>
                {
                    b.Navigation("RoleMenus");
                    b.Navigation("RoleResources");
                    b.Navigation("UserInfoRoles");
                });
            modelBuilder.Entity("FlexJobApi.Core.TaskInfo", b =>
                {
                    b.Navigation("Benefits");
                    b.Navigation("CredentialLimits");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserAuth", b =>
                {
                    b.Navigation("UserInfos");
                });
            modelBuilder.Entity("FlexJobApi.Core.UserInfo", b =>
                {
                    b.Navigation("UserInfoCredentials");
                    b.Navigation("UserInfoDepartments");
                    b.Navigation("UserInfoExpectJobs");
                    b.Navigation("UserInfoRoles");
                });
#pragma warning restore 612, 618
        }
    }
}
FlexJobApi.Database.Migrations/Migrations/20250805102905_UpdateDictionaryData0805002.cs
New file
@@ -0,0 +1,30 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace FlexJobApi.Database.Migrations.Migrations
{
    /// <inheritdoc />
    public partial class UpdateDictionaryData0805002 : Migration
    {
        /// <inheritdoc />
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.AddColumn<bool>(
                name: "IsDisabled",
                table: "DictionaryData",
                type: "bit",
                nullable: false,
                defaultValue: false,
                comment: "是否禁用");
        }
        /// <inheritdoc />
        protected override void Down(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.DropColumn(
                name: "IsDisabled",
                table: "DictionaryData");
        }
    }
}
FlexJobApi.Database.Migrations/Migrations/DefaultDbContextModelSnapshot.cs
@@ -202,6 +202,10 @@
                        .HasColumnType("bit")
                        .HasComment("是否删除");
                    b.Property<bool>("IsDisabled")
                        .HasColumnType("bit")
                        .HasComment("是否禁用");
                    b.Property<Guid?>("ParentId")
                        .HasColumnType("uniqueidentifier")
                        .HasComment("上级Id");