存储过程返回不同维度的数据实体框架4

时间:2012-05-08 14:17:41

标签: entity-framework stored-procedures entity-framework-4 entity-framework-4.1

为了报告我正在研究的调查系统,我们开发了一个存储过程,返回具有不同列数的数据。

我们向操作员显示这些表中的所有列:Users,Questions,Answers。

用户从报表应显示的每个表中选择列。 例如:  用户:姓名,年龄,邮政编码 问题:问题2,问题4 答案:answer2,answer3,answer4。

然后我们将参数传递给存储过程,并且存储过程返回: 每个用户属性,问题或答案一列。 并且DB中的每个用户都有一行。

例如:     example

如您所见,存储过程可以返回3行2列到500行50列之间的任何内容。有没有办法在实体框架中使用存储过程?起初我尝试使用复杂的返回类型,但看起来这种方法在这种情况下不起作用。

1 个答案:

答案 0 :(得分:0)

EF仅支持在设计时定义的固定列数的存储过程。要执行此过程,您需要使用普通的旧ADO.NET。

编辑:如果您已经修复了colums的总nuber(您提到了50),您可以创建包含所有这些列的单个类,并将其用作执行结果。 EF将仅填充结果集中存在的属性。