何かをテストするために使用している非常に単純なストアド プロシージャがあります。
ALTER PROCEDURE [cms].[TestSPROC]
AS
BEGIN
DECLARE @Test INT
SELECT *,CONVERT(NUMERIC(3,2),15) AS Test
FROM Viper.Currencies
END
SP は算術オーバーフロー例外を返す必要があり、SQL Server Management Studio 内でこれを行います。
問題:
アプリケーションで Entity Framework の.ExecuteFunction<T>
メソッドを使用して SP を呼び出すと、EntityException がスローされる代わりに null が返されます。(関数 import を使用する場合も同じことが起こりますが、基本的には.ExecuteFunction<T>
とにかく呼び出すだけです)
これが私のコードです:
using (CmsEntities context = new CmsEntities())
{
try
{
context.ExecuteFunction<TestSPROCResult>("TestSPROC");
}
catch (EntityException exc)
{
MessageBox.Show(exc.Message);
}
}
私が呼び出すとcontext.ExecuteFunction("TestSPROC");
、例外がスローされて処理されるため、問題は複雑な型に関係している可能性があります。
誰かがこの問題に遭遇した/解決したことがありますか?