EF Core 3.0と2.2でストアドプロシージャを実行する
EF Core 3.0の変更、特にの廃止に対応するためにコードを更新しようとしていますExecuteSqlCommand。 次のコードは2.2で機能していましたが、前述のように、私は取り除く必要がありますExecuteSqlCommand。 SqlParameter srcid = new SqlParameter("@srcCharacterId", participantApplication.CharacterId); SqlParameter newid = new SqlParameter("@newCharacterId", newCharacterId); SqlParameter pResult = new SqlParameter { ParameterName = "@pResult", SqlDbType = System.Data.SqlDbType.Bit, Direction = System.Data.ParameterDirection.Output }; _db.Database.ExecuteSqlCommand("pCharacterCopy @srcCharacterId, @newCharacterId, @pResult OUTPUT", srcid, newid, pResult); 呼び出しをExecuteSqlRaw(他はすべて同じにして)に変更しようとしましたが、コンパイルはできますが、実行時に次の例外がスローされます。 SqlParameterCollectionはnull以外のSqlParameterタイプのオブジェクトのみを受け入れ、SqlParameterオブジェクトは受け入れません 私はデバッガで確認しましたSqlParameterが、どれもnull ではありません。呼び出しがExecuteSqlRaw正しくフォーマットされていないと思われますが、必要のないLinqクエリに呼び出しを統合する以外の例は見つかりません。ストアドプロシージャの呼び出しを開始し、完了したら出力パラメーターを確認したいだけです。