从Entity Framework获取动态SQL结果

时间:2011-03-22 16:05:25

标签: .net wcf entity-framework entity-framework-4

我在WCF中使用EF 4。我在db端有一个SP(执行动态sql),它可以返回n个不确定的n列。因此,当我执行函数import并声明返回类型为none时,它将返回类型设置为int。我没有看到任何其他选择。我可以返回xml并执行此操作,但我不想处理xml。我只想让它的返回类型为List <object&gt;

1 个答案:

答案 0 :(得分:6)

在这种情况下,您必须回退到ADO.NET并按SqlCommand + SqlDataReader执行存储过程。 EF无法处理因返回列数而异的结果集。在EF中执行SP始终是强类型的,因此您必须能够将返回的记录映射到实体,复杂类型或自定义类型(EF将实现记录到该类型的实例)。如果没有固定数量的返回列和固定的列名,则无法进行此操作。