using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace iWare.Wms.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 });
});
}
}
}