Masalah dengan perbedaan antara memanggil SP secara langsung dan dari kode .NET, mungkin karena parameter sniffing. SQL Server mungkin menyimpan rencana eksekusi yang tidak optimal untuk parameter yang Anda lewati dari kode.
Untuk menghindari ini, coba tambahkan WITH RECOMPILE ke definisi SP Anda, mis.
CREATE PROCEDURE MySP (
... parameters...
) WITH RECOMPILE
AS
BEGIN
...