0

私は次のストアド プロシージャを作成しましたが、これは正常に動作します。私がやりたいのは、それをエンティティ データ モデルとして使用することです。ただし、エンティティ データ モデルで使用すると、戻り値の型が整数で、値が 0 になります。

DataContext を使用して SP が整数ではなく実際のデータを返すようにするにはどうすればよいですか?

IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE TYPE = 'P' AND NAME = 'myProc') DROP PROCEDURE myProc;
GO
CREATE PROCEDURE [dbo].myProc
@START DateTime, @STOP DateTime
AS
BEGIN TRY

    CREATE TABLE #Temp (download_Pk int);
    INSERT INTO #Temp 
    SELECT      download_pk FROM t1
    UNION       ALL
    SELECT      download_pk FROM t2;    

    WITH 
    x as 
    (
        SELECT      ID as Caps_Pk,
                    rootID as [Caps_RootId],
                    Case400Series as [Case],
                    SUBSTRING(c1, CHARINDEX('_', c1,1)+1, LEN(c1)) as [Customer],
                    run as Run,                     
                    SUBSTRING(c2, 1, CHARINDEX('_', c2, 1) -1) as [Sample], 
                    SUBSTRING(c2, CHARINDEX('_', c2,1)+1, len(c2)) as [Amplification],
                    projectTitle,
                    DateAdded as [UploadTime],                  
                    UserId as [User]
        FROM        t3 
        WHERE       DateAdded >= @START AND DateAdded <= @STOP AND
                    [User] in (SELECT name FROM ViewUsers WHERE Site = 'abc' AND Role = 'def')
    )   

    SELECT      *
    FROM        x
    WHERE       Caps_Pk NOT IN (Select download_Pk from #Temp)

    DROP TABLE #Temp;

END TRY

BEGIN CATCH
    DROP TABLE #Temp;       

END CATCH

行く

前もって感謝します。

4

2 に答える 2

1

ここで答えが見つかりました: EF4 - 選択されたストアド プロシージャは列を返しません

「EF は、結果セットを構築するストアド プロシージャのインポートをサポートしていません: 動的クエリ 一時テーブル プロシージャ EF をインポートするには、それを実行する必要があるためです。」

于 2013-04-08T07:42:14.810 に答える