OData服务和SQL Server - 它准确读取了哪些数据

时间:2013-08-11 18:23:29

标签: sql sql-server odata

我无法跟踪我的数据库的调用,它在Azure上发布,所以我得到了这个问题 - SQL服务器实际上会做多少工作?

我有这个存储过程返回一个表:

CREATE PROCEDURE prcNew AS
    CREATE TABLE @tblTemp
        Col_1
        Col_2
        Col_3
    .....................
    /* @tblTemp filled something like this */
    INSERT INTO @tblTemp
        SELECT SUM(tblExisting.Col_1)
        SELECT SUM(tblExisting.Col_2)
        SELECT SUM(tblExisting.Col_3)
    .....................
    SELECT * FROM @tblTemp
GO

现在我在IIS中有OData网站和webservice,用Visual Studio 2012制作,它使用Entity Framework函数导入从prcNew获取数据。

因此,如果我使用'select'字呼叫webservice,尝试仅从prcNew获取Col_2:

    http://.../MyService.svc/prcNew?$select=Col_2

SQL Server传递给Web服务的确切数据是什么?它确实只是Col_2吗?如果它不会获取Col_1和Col_3 - 它是否会跳过计算过程中的那些列值?

1 个答案:

答案 0 :(得分:0)

不,它只会从存储过程的结果中选择一列。所以它将运行sp

中的所有语句