【问题标题】:How to get dynamic SQL result from SP in entity framework?如何从实体框架中的 SP 获取动态 SQL 结果?
【发布时间】:2011-12-08 03:48:54
【问题描述】:

假设我有以下 SP 来运行动态 sql 更改程序 [dbo].[MySP] 作为 开始

declare @sql varchar(4000)
select @sql = 'select cnt = count(*) from Mytable ..... ';
exec (@sql)

END

然后在 edmx 中,我为这个 sp 添加 sp 和 import 函数。返回类型是标量 int32。

然后我想在如下代码中使用这个函数:

int? result = context.MySP();

我收到错误提示“无法将类型 System.Data.Objects.ObjectResults 隐式转换为 int?”

如果使用

   var result = context.MySP();

那么 Single() 不能应用于 context.MySP()。

如何得到这个案例的结果?

【问题讨论】:

    标签: entity-framework


    【解决方案1】:

    您可能已经解决了这个问题,但是...

    我也做过同样的事情;我的过程返回一个整数,所以我选择了 Scalars 和 Int32,它返回 System.Data.Objects.ObjectResult

    当然,问题在于窗口状态“返回一个 Collection Of”(强调我的)。

    杜尔。

    选择无而不是标量,将返回适当的结果 (int)。

    【讨论】:

      【解决方案2】:

      尝试将结果数据类型更改为System.Nullable<int>。见this post

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-12
        • 2015-02-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多