1

次のようなストアド プロシージャがあります。

CREATE PROCEDURE [dbo].[Foo]
(
  @ID INT,
  @PARAM1 NVARCHAR(10),
  @Error INT OUT
)
AS 
BEGIN
  IF (@ID < 0)
  BEGIN
    SET @Error = 1
    RETURN
  END

  IF (@ID > 100)
  BEGIN
    SET @Error = 2
    RETURN
  END

  SELECT Field1, Field2, Field3 FROM TABLE WHERE Param = @PARAM1
END

EF5では、このように呼んでいます

ObjectParameter error = new ObjectParameter("Error", typeof(global::System.Int32));
List<MyFoo> list = db.Foo(id, param1, error).ToList();

ストアド プロシージャに"NOT ALL PATH RETURNS A VALUE"いくつかの呼び出しがあるため、コードはコンパイルされません。"RETURN"

質問:
このストアド プロシージャを EF5 から呼び出す正しい方法は何ですか (ストアド プロシージャを変更することはできません)。

前もって感謝します

4

1 に答える 1