I want to fetch data from database. My database has relational tables. Some of columns are linked to the ID of other tables.
In the output, I receive this:
[
{
"pmScheduleId": 28,
"pmNumber": 100,
"scheduledStartDate": "2022-06-22T00:00:00",
"scheduledEndDate": "2022-07-05T00:00:00",
"mainFileName": "2022-6-27-8972a000-7bc3-4013-b7bb-14d52f905970.xlsx",
"uploadedFileName": null,
"mainUploader": 1,
"uploader": null,
"completionDate": null,
"status": "Registered",
"costCenter": null,
"serviceType": null
},
{
"pmScheduleId": 29,
"pmNumber": 130,
"scheduledStartDate": "2022-06-22T00:00:00",
"scheduledEndDate": "2022-07-05T00:00:00",
"mainFileName": "2022-6-27-1dfb36b6-d348-4f6d-a8a1-ca2e585e713a.xlsx",
"uploadedFileName": null,
"mainUploader": 1,
"uploader": null,
"completionDate": null,
"status": "Registered",
"costCenter": null,
"serviceType": null
}
]
CostCenter and
ServiceType needs to have values because they are filled with other table primary keys in the database. How can I fix this issue?
What I have tried:
I'm using the following code to fetch data from database:
public async Task<IActionResult> GetAllPmSchedules()
{
string userRole = HttpContext.Session.GetString("UserRole");
if (userRole == "admin")
{
var pmSchedule = await _sqlServerContext.PmSchedules.ToListAsync();
if (pmSchedule.Count > 0)
{
return Ok(pmSchedule);
}
return NoContent();
}
return NotFound("Unauthorized access");
}
My model is as follow:
public class PmSchedule
{
[Key]
public long PmScheduleId { get; set; }
[Required]
public long PmNumber { get; set; }
[Required]
[DataType(DataType.DateTime)]
public DateTime ScheduledStartDate { get; set; }
[Required]
[DataType(DataType.DateTime)]
public DateTime ScheduledEndDate { get; set; }
[Required]
[DataType(DataType.Text)]
public string MainFileName { get; set; }
[DataType(DataType.Text)]
public string? UploadedFileName { get; set; }
[Required]
public int MainUploader { get; set; }
public int? Uploader { get; set; }
[DataType(DataType.DateTime)]
public DateTime? CompletionDate { get; set; }
[Required]
[DataType(DataType.Text)]
public string? Status { get; set; }
public virtual CostCenter CostCenter { get; set; }
public virtual ServiceType ServiceType { get; set; }
}