sunpengfei
2025-08-07 a8b475881959d4a88d821951a615f03e7d0d1725
FlexJobApi.Core/Entities/Users/Enterprise.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 Enterprise : CommonEntity
    public class Enterprise : CommonEntity, IEntityTypeBuilder<Enterprise>
    {
        public Enterprise()
        {
@@ -29,9 +32,9 @@
        public EnterpriseAuth EnterpriseAuth { get; set; }
        /// <summary>
        /// 所在省份Id
        /// 所在省份编号
        /// </summary>
        public Guid? ProvinceId { get; set; }
        public string ProvinceCode { get; set; }
        /// <summary>
        /// 所在省份
@@ -39,9 +42,9 @@
        public DictionaryData Province { get; set; }
        /// <summary>
        /// 所在城市Id
        /// 所在城市编号
        /// </summary>
        public Guid? CityId { get; set; }
        public string CityCode { get; set; }
        /// <summary>
        /// 所在城市
@@ -49,9 +52,9 @@
        public DictionaryData City { get; set; }
        /// <summary>
        /// 所属行业Id
        /// 所属行业编号
        /// </summary>
        public Guid? IndustryTypeId { get; set; }
        public string IndustryTypeCode { get; set; }
        /// <summary>
        /// 所属行业
@@ -145,5 +148,27 @@
        /// 用户信息
        /// </summary>
        public List<UserInfo> UserInfos { get; set; }
        public void Configure(EntityTypeBuilder<Enterprise> 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);
            entityBuilder
                .HasOne(it => it.IndustryType)
                .WithMany()
                .HasForeignKey(it => it.IndustryTypeCode)
                .HasPrincipalKey(it => it.Code)
                .OnDelete(DeleteBehavior.Restrict);
        }
    }
}