Resume全栈项目(.NET)

发布于:2025-03-23 ⋅ 阅读:(16) ⋅ 点赞:(0)


项目地址

  • 教程作者:
  • 教程地址:
https://www.CSDN.com/watch?v=AiwzQMupPsU
  • 代码仓库地址作者:
https://github.com/mohammad-taheri1/Youtube-Resume-Management-dotnet-react-ts
  • 代码仓库自己:

一、创建项目所需要的表

在这里插入图片描述

1.1 创建实体层

1. Entities

  1. BaseEntity.cs
namespace ResumeManagement.Domain.Entities
{
    public abstract class BaseEntity
    {
        public Guid ID { get; set; }   
        public DateTime CreatedAt { get; set; } = DateTime.Now;
        public DateTime UpdateAt { get; set; } = DateTime.Now;
        public bool isActive { get; set; } = true;  
    }
}
  1. Company.cs : 里面有Job的Collection
namespace ResumeManagement.Domain.Entities
{
    public class Company:BaseEntity
    {
        public string Name { get; set; }
        public CompanySize Size { get; set; }
        //relations 一对多
        public ICollection<Job> Jobs { get; set; }
    }
}
  1. Job.cs:每个职位有对应的公司id和名称,一个职位有多个候选人
namespace ResumeManagement.Domain.Entities
{
    public class Job: BaseEntity
    {
        public string Title { get; set; }
        public JobLevel Level { get; set; }
        //relations 多对一
        public Guid CompanyID { get; set; }
        public Company Company { get; set; }
        //relations 一对多一个职位可以有多个候选人
        public ICollection<Candidate> Candidates { get; set; }
    }
}
  1. Candidate.cs: 每个候选人,有投递的工作ID和工作名称
namespace ResumeManagement.Domain.Entities
{
    public class Candidate: BaseEntity
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Email { get; set; }
        public string Phone { get; set; }
        public string CoverLetter { get; set; }
        public string ResumeUrl { get; set; }
        //relations 多对一
        public Guid JobID { get; set; }
        public Job Job { get; set; }
    }
}

2. Enums 存放枚举

  1. 公司规模的枚举
namespace ResumeManagement.Domain.Enums
{
    public enum CompanySize
    {
        Small,
        Medium,
        Large
    }
}

2.工作等级的

1.2 创建数据库层

在这里插入图片描述

1. 安装Persistance层需要的库

在这里插入图片描述

2. 创建ResumeDbContext

  • 这里定义表的关系
    在这里插入图片描述

3. 添加数据库配置/注册DBContext

  1. API层数据库连接appsettings.json
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "ConnectionStrings": {
    "ResumeDBConnectionStrings": "Server=.;Database=ResumeDB;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True;"
  },
  "AllowedHosts": "*"
}
  1. 在Persistance层创建PersistanceRegistration.cs文件

using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

namespace ResumenManagement.Persistance
{
    public static class PersistanceRegistration
    {
        public static void  AddPersistanceRegistration(this IServiceCollection services, IConfiguration configuration)
        {
            services.AddDbContext<ResumeDbContext>(options =>
        options.UseSqlServer(configuration.GetConnectionString("ResumeDBConnectionStrings")));
        }
    }
}

  1. 在Api层里注册

在这里插入图片描述

4. 执行Add-Migration

  • 注意:如果从新添加了文件夹,一定要build项目之后,重启项目,才会执行migration成功
    在这里插入图片描述
  • 执行成功后,在数据里,就可以看到我们的表

在这里插入图片描述