猛烈にグーグルした後、私は答えに出くわしました:>EF4 - 選択されたストアド プロシージャは列を返しません
EF は、動的クエリまたは一時テーブルを使用するストアド プロシージャからメタデータを取得できません。解決策は、複雑な戻り型を手動で作成するか、
を配置することでしたSET FMTONLY OFF
プレ>私のストアドプロシージャ定義で。もちろん、2 番目のオプションの危険性は、Visual Studio がメタデータ呼び出しを実行するときにストアド プロシージャが実行されることです。そのため、ストアド プロシージャが何も変更しない場合にのみ使用するのが理想的です。
更新:別の方法は、ストアド プロシージャが実際に機能することを確認することです。他にできることは、必要な列を返すダミーのストアド プロシージャを作成し、それにバインドしてから実際のロジックを実行することです。