"I'm confused what type of project should I use because I'm newbie to ASP.NET and programing as a whole?"
Based on your description and requirement you should have one
client-side (frontend) project and one server-side (backend project) within the same solution. You could follow the steps below.
Client: Frondtend Project:
For client-side vue.js project you could take the project like
below. Please see the screen shot.

Note: For more details steps you could check our official document here
Server: Backend Project:
For dealing with client-side vue.js request you should have one
server-side backend project which should be kind of asp.net core web API project. You could take this like below.

Note: For more details steps you could check our official document here
Project Request Architecture:
Your vue.js client-side which we call front-end application will
sent request to your asp.net core web API application controller.
For example your employees controller then you should return
required data from your controller which you will bind to your
client-side project eventually. Your project architecture should look like below:

For details you could check official document here
Your Domain Class:
Based on your description you should have employee domain class for exaple an imaginary employee class like below:
public class Employee
{
public Guid Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
}
ApplicationDbContext:
public class ApplicationDbContext: DbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
public DbSet<Employee> Employee { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Employee>().ToTable("Employee");
}
}
Note:
You should similar SQL Table on your database, to make is easier here I am
providing the Database script as well.
SQL Script:
CREATE TABLE [Employee]
(
Id UNIQUEIDENTIFIER PRIMARY KEY default NEWID(),
[FirstName] [varchar](50) NULL,
[LastName] [varchar](50) NULL,
[Email] [varchar](50) NULL,
)
Controller:
[Route("api/[controller]")]
[ApiController]
public class UnitOfWorkEmployeeController : ControllerBase
{
private readonly ILogger<UnitOfWorkEmployeeController> _logger;
private readonly IUnitOfWork _unitOfWork;
public UnitOfWorkEmployeeController(
ILogger<UnitOfWorkEmployeeController> logger,
IUnitOfWork unitOfWork)
{
_logger = logger;
_unitOfWork = unitOfWork;
}
[HttpGet]
public async Task<IActionResult> Get()
{
var employees = await _unitOfWork.Employee.All();
return Ok(employees);
}
}
}
Note: If you need more details steps reagrding the best practice and implementation you could have a look here in this thread
Hope above steps guided you accordingly to implement your requirements.