Razor Pages在将代码更改为存储过程时不能隐式转换类型



在使用了多年的webforms之后,我现在进入了Razor Pages。

我有以下代码从SQL Server存储过程中检索数据:

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;
}

起初,它只是使用linq检索表数据来进行测试,但我需要将其转换为使用存储过程。我已经注释了linq表检索。

不幸的是,通过存储过程获取数据的新代码在

上产生了一个错误:
return DeviationDetails;

错误是:

不能隐式转换类型system.collections.generic.listCV2.Models.DeviationRequests。

请问我做错了什么?

试试这个:

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();
}

相关内容

  • 没有找到相关文章

最新更新