存储过程:从物化的“System.String”类型到可为空的“System.Single”类型的指定强制转换无效

时间:2016-10-28 05:15:54

标签: c# sql-server stored-procedures casting

我运行此功能:

public List<ViewDomainClass.Support.Report.ViewReportShopFabrication> ShowReport(int Id)
{
    List<ViewDomainClass.Support.Report.ViewReportShopFabrication> lst = new List<ViewDomainClass.Support.Report.ViewReportShopFabrication>();

    lst = _ctx.Database.SqlQuery<ViewDomainClass.Support.Report.ViewReportShopFabrication>("EXEC SPViewShopFabricationReportDetail @ReportDetailId ="+Id).ToList();
    return lst;
}

我收到了这个错误:

  

EntityFramework.dll中出现未处理的“System.InvalidOperationException”类型异常

     

附加信息:从具体化的“System.String”类型到可以为空的“System.Single”类型的指定强制转换无效。

我知道问题在于铸造。但我的数据库列大约有40列。所以我想找到精确的演员专栏?是否可以找到哪个列返回错误?

1 个答案:

答案 0 :(得分:1)

由于您提供的细节很少,我无法提供简洁的答案。我所能做的只是指出问题似乎是一种“文本”列,它映射到类型System.Single的一个模型属性(尝试写{{1时可能只是一个错字') }}?)。

这可能会帮助您缩小可能的候选人。

找到后,您只需将列映射到相应的.NET类型。

您可以在MSDN

上找到SQL Server - .NET Type-Equivalents