I'm currently getting into Razor Pages after many years of webforms.
I have the following code that retrieves data from a SQL Server stored procedure:
private readonly AppDbContext context;
public List<DeviationRequests> DeviationDetails { get; set; }
public async Task<DeviationRequests> GetDeviationDetailsAsync(int id)
{
//return await context.apiDeviationRequests.FirstOrDefaultAsync(p => p.DeviationLogID == id);
var parameters = new List<SqlParameter>();
parameters.Add(new SqlParameter("@SUB_ID", "5317DBA3"));
parameters.Add(new SqlParameter("@DeviationLogID", id));
DeviationDetails = await context.apiDeviationRequests.FromSqlRaw<DeviationRequests>("dbo.Get_WorkStationDeviationDetails @Sub_ID, @DeviationLogID", parameters: parameters.ToArray()).ToListAsync();
return DeviationDetails;
}
At first it was just retrieving table data using linq to test it out, but I need to convert it to use a stored procedure. I've commented the linq table retrieval out.
Unfortunately the new code to get the data via a stored procedure produces an error on:
return DeviationDetails;
The error is:
Cannot implicitly convert type system.collections.generic.list <CV2.Models.DeviationRequests> to CV2.Models.DeviationRequests.
What am I doing wrong please?
Try this:
public async Task<DeviationRequests> GetDeviationDetailsAsync(int id)
{
//return await context.apiDeviationRequests.FirstOrDefaultAsync(p => p.DeviationLogID == id);
var parameters = new List<SqlParameter>();
parameters.Add(new SqlParameter("@SUB_ID", "5317DBA3"));
parameters.Add(new SqlParameter("@DeviationLogID", id));
DeviationDetails = await context.apiDeviationRequests.FromSqlRaw<DeviationRequests>("dbo.Get_WorkStationDeviationDetails @Sub_ID, @DeviationLogID", parameters: parameters.ToArray()).ToListAsync();
return DeviationDetails.FirstOrDefault();
}