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

时间:2011-02-16 03:54:29

标签: entity-framework stored-procedures entity

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

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

  

错误35错误3027:
  没有为以下内容指定映射   EntitySet / AssociationSet -   MyCustomEntitySet

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

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

TIA!

1 个答案:

答案 0 :(得分:3)

我们过去通过在db中创建一个视图来解决这个问题 - 如果映射到存储过程,视图永远不会被实际使用,但它确实能够在实体中自动创建正确的映射。

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