实体框架5数据映射

时间:2012-11-28 13:38:00

标签: sql-server entity-framework

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

  

数据阅读器与指定的内容不兼容   'CLMModel.GetContractPerformanceReview_Result'。该类型的成员,   'LastYearProfit',数据中没有对应的列   读者同名。

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

该值是使用此定义从列生成的,因此我无法看到它无法成功映射。

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

非常感谢广告援助。我试过在SO上搜索这个,没有成功,但如果还有其他问题你可以指点我,请做。谢谢。

1 个答案:

答案 0 :(得分:1)

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

所以经验教训是 - 如果你的SP为不同的参数返回不同的结果,请确保它们都返回相同的列。