1

我已将复杂类型映射到 SP 的结果,并收到以下错误:

数据读取器与指定的“CLMModel.GetContractPerformanceReview_Result”不兼容。类型的成员“LastYearProfit”在数据读取器中没有同名的对应列。

我知道这通常表明映射类型有问题,所以我查看并调整它们无济于事。传入类型是decimal(18, 2)(在 SQL Server 上),映射类型也是decimal(18, 2). 我尝试将精度提高到38,2没有成功,因为我认为这可能是检测到可能更大的值的情况。

该值是从具有此定义的列生成的,因此我看不出它无法成功映射的原因。

我什至尝试过Create a new Complex Type使用生成的类型,但它仍然失败。我已经确认字段名称也匹配。

广告协助将不胜感激。我曾尝试在 SO 上搜索此内容,但没有成功,但如果您还有其他问题可以指出,请执行。谢谢你。

4

1 回答 1

1

好的,我找到了原因,就是生成这个响应的存储过程根据参数创建了不同的结果集。这意味着当我手动运行它时,它显示了列,但实体框架无法正确识别正确的列。

所以教训是 - 如果您的 SP 针对不同的参数返回不同的结果,请确保它们都返回相同的列。

于 2012-12-08T10:53:43.113 回答