EF 5 で以下のエラーが発生し、Web で精力的に調査したところ、単にマッピングの問題であることがわかりました。私がチェックインしたものはすべてうまくいきます。
以下の情報に基づいてエラーが何であるかを教えてください。
データ リーダーは、指定された「VisionModel.sSRPTFundexDocCodes1_Test_Result」と互換性がありません。タイプ 'NumEmployeesatApp1' のメンバーには、データ リーダーに同じ名前の対応する列がありません。
以下のコード スニペットをデバッグすると、その直後に上記のエラーが発生します。
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<sSRPTFundexDocCodes1_Test_Result>("sSRPTFundexDocCodes1_Test", subscriberIDParameter, applicationNumParameter);
ストアド プロシージャに入るパラメーターは問題ありません。
マッピングは問題ありません。マッピングの左側は:NumEmployeesatApp
で、右側はまったく同じです。
EDMX ファイルを完全に削除し、同じエラーが発生してゼロから作成しました。関数から「列情報の取得」を実行すると、列名は上記のストアド プロシージャに正確に表示されます。
EDMX ファイル (Vision) から生成されたテンプレートと上記のストアド プロシージャでは、列が正確に一致しています。
ところで、問題なく EF 5 モデルから他のINSERT
& SELECT
LINQ クエリを実行できます。