using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Core
{
///
/// 用户信息资格证书
///
public class UserCredential : CommonEntity, IEntityTypeBuilder
{
///
/// 用户信息Id
///
public Guid UserId { get; set; }
///
/// 用户信息
///
public User User { get; set; }
///
/// 证书类型编号
///
[Required]
public string TypeCode { get; set; }
///
/// 证书类型
///
public DictionaryData Type { get; set; }
///
/// 证书编号
///
[MaxLength(128)]
public string Code { get; set; }
///
/// 永久证书
///
public bool IsForever { get; set; }
///
/// 开始日期
///
public DateTime? StartDate { get; set; }
///
/// 结束日期
///
public DateTime? EndDate { get; set; }
///
/// 发证单位
///
public string IssueUnit { get; set; }
///
/// 证书正面照片
///
public string Img { get; set; }
///
/// 证书反面照片
///
public string BackImg { get; set; }
public void Configure(EntityTypeBuilder entityBuilder, DbContext dbContext, Type dbContextLocator)
{
entityBuilder
.HasOne(it => it.Type)
.WithMany()
.HasForeignKey(it => it.TypeCode)
.HasPrincipalKey(it => it.Code)
.IsRequired()
.OnDelete(DeleteBehavior.Restrict);
}
}
}