我有名为Contact和Address的表,它们都有“ModifiedDate”列。我已经使用存储过程编写了CUD操作。但是,当我需要使用其地址返回所有联系人的SELECT存储过程时,我收到了错误。
System.Data.EntityCommandExecutionException: 数据阅读器不兼容 指定的 'AddressBookModel.SelectAllContactsWithAddresses_Result2'。 类型为“ModifiedDate1”的成员, 没有相应的列 在具有相同名称的数据阅读器中。
我最终更改了存储过程以返回这些列名称的不同别名,更不幸的是,我需要更改模型中实体的属性以匹配所选列。我写了一篇关于这个here的博客文章。 我知道我可以为两个实体单独选择SP(和单独的函数导入)但这只是一种情况,并且在其他情况下也可能发生,因为可能从复杂查询返回相同的列名称来自SP中的多个表。任何人都可以就此提出任何指示吗?
答案 0 :(得分:1)
我在MS论坛中发布了同样的问题EF here(抱歉交叉发布),主持人确认这是EF中的一个错误并要求我在Microsoft Connect中创建一个错误错误ID是597376,这里是同一个link。
来自灵芝孙 主持人MSFT 论坛支持>Hello, After some research and test,
> I can repro this issue at my side.
> It can be a limitation of EF when
> handling stored procedure return
> values. I would recommend you open a
> ticket at Microsoft Connect to report
> this issue to the product team. If
> it is convenient, please share us with
> the ticket link here to benefit more
> community members.