实体框架 – 实体框架3.5和存储过程结果映射

在Visual Studio 2010中使用EF3.5(此时无法升级到EF4 – 请不要问!).

想要创建一个存储过程,该存储过程聚合来自某些相关表的某些字段,并将存储过程的结果具体化为自定义“实体”.此自定义实体将是“只读”.我设置了自定义实体,存储过程和函数导入.当我构建我的Entity项目时,我得到以下内容:

Error 35 Error 3027:
No mapping specified for the following
EntitySet/AssociationSet –
MyCustomEntitySet

看起来它想要为我的自定义实体定义一个表映射,但是,在这种情况下我不会有一个,因为它将数据聚合在几个表上(并过滤掉一些不必要的数据).

是否可以将自定义实体映射到存储过程?是否有可能以“从数据库更新模型”功能不会破坏自定义实体或存储过程/函数导入映射的方式这样做?

TIA!

最佳答案
我们过去通过在db中创建视图来解决这个问题 – 如果映射到存储过程,视图永远不会被实际使用,但它确实可以在实体中自动创建正确的映射.

通常,对于相当直接的过程,您可以复制/粘贴sql以生成视图 – 节省一些时间.

转载注明原文:实体框架 – 实体框架3.5和存储过程结果映射 - 代码日志