Click here to Skip to main content
15,886,199 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
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; }

        //Navigation properties
        public virtual CostCenter CostCenter { get; set; }
        public virtual ServiceType ServiceType { get; set; }
    }
Posted
Updated 28-Jun-22 22:24pm
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900