using Furion.DatabaseAccessor; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Admin.NET.Core { /// /// 员工表 /// [Table("sys_emp")] [Comment("员工表")] public class SysEmp : IEntity, IEntityTypeBuilder { /// /// 用户Id /// [DatabaseGenerated(DatabaseGeneratedOption.None)] [Comment("用户Id")] public long Id { get; set; } /// /// 工号 /// [Comment("工号")] [MaxLength(30)] public string JobNum { get; set; } /// /// 机构Id /// [Comment("机构Id")] public long OrgId { get; set; } /// /// 机构名称 /// [Comment("机构名称")] [MaxLength(50)] public string OrgName { get; set; } /// /// 多对多(职位) /// public ICollection SysPos { get; set; } /// /// 多对多中间表(员工-职位) /// public List SysEmpPos { get; set; } /// /// 多对多配置关系 /// /// /// /// public void Configure(EntityTypeBuilder entityBuilder, DbContext dbContext, Type dbContextLocator) { entityBuilder.HasMany(p => p.SysPos).WithMany(p => p.SysEmps).UsingEntity( u => u.HasOne(c => c.SysPos).WithMany(c => c.SysEmpPos).HasForeignKey(c => c.SysPosId), u => u.HasOne(c => c.SysEmp).WithMany(c => c.SysEmpPos).HasForeignKey(c => c.SysEmpId), u => { u.HasKey(c => new { c.SysEmpId, c.SysPosId }); }); } } }