2016-10-28 116 views
-1

我运行这个功能:存储过程:从物化“System.String”类型为可空“System.Single”类型指定的强制转换无效

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

而且我得到这个错误:

“System.InvalidOperationException”类型的未处理的异常发生在EntityFramework.dll

其他信息:从物化“System.String”类型为可空“System.Single”类型指定的强制转换不是v alid。

我知道问题是铸造。但是我的数据库列大约有40列。所以我想要找到完全投射的专栏?是否有可能找到哪个列返回错误?

+0

下投票评论请!!!!!!!!!!!!!!!!!!!!!!!!!! ! –

+0

是否有内部异常或某事。在可能帮助我们的堆栈跟踪中? – nozzleman

+0

请检查内部异常通过附加一个调试器 – Pramod

回答

1

既然您提供了非常少的细节,我无法提供一个简洁的答案。我所能做的就是指出问题似乎是一种“文本”列,它映射到System.Single类型的某个模型属性(可能在编写string时只是一个错字)。

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

一旦找到,您只需将列映射到适当的.NET类型。

你可以找到SQL服务器 - .NET类型当量上MSDN

相关问题