2011-03-22 27 views
2

我在EF W内部使用EF 4。我有一个SP(执行动态SQL)在数据库端,可以返回n个列,其中n是不确定的。所以当我做功能导入,并说返回类型无,它使返回类型为int。我没有看到其他选择。我可以返回xml并执行此操作,但我不想处理xml。我只希望它的返回类型为:列表<object>从实体框架获取动态SQL结果

回答

6

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