sunpengfei
2025-08-07 a8b475881959d4a88d821951a615f03e7d0d1725
FlexJobApi.Core/Entities/Tasks/TaskInfo.cs
@@ -1,4 +1,7 @@
using System;
using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
@@ -10,7 +13,7 @@
    /// <summary>
    /// 任务信息
    /// </summary>
    public class TaskInfo : CommonEntity
    public class TaskInfo : CommonEntity, IEntityTypeBuilder<TaskInfo>
    {
        public TaskInfo()
        {
@@ -75,12 +78,22 @@
        public List<TaskInfoCredentialLimit> CredentialLimits { get; set; }
        /// <summary>
        /// 任务地点所属区域Id
        /// 任务地点所属省份编号
        /// </summary>
        public Guid CityId { get; set; }
        public string ProvinceCode { get; set; }
        /// <summary>
        /// 任务地点所属区域
        /// 任务地点所属省份
        /// </summary>
        public DictionaryData Province { get; set; }
        /// <summary>
        /// 任务地点所属城市编号
        /// </summary>
        public string CityCode { get; set; }
        /// <summary>
        /// 任务地点所属城市
        /// </summary>
        public DictionaryData City { get; set; }
@@ -98,5 +111,21 @@
        /// 任务结束时间
        /// </summary>
        public DateTime EndTime { get; set; }
        public void Configure(EntityTypeBuilder<TaskInfo> entityBuilder, DbContext dbContext, Type dbContextLocator)
        {
            entityBuilder
                .HasOne(it => it.Province)
                .WithMany()
                .HasForeignKey(it => it.ProvinceCode)
                .HasPrincipalKey(it => it.Code)
                .OnDelete(DeleteBehavior.Restrict);
            entityBuilder
                .HasOne(it => it.City)
                .WithMany()
                .HasForeignKey(it => it.CityCode)
                .HasPrincipalKey(it => it.Code)
                .OnDelete(DeleteBehavior.Restrict);
        }
    }
}