ORM (Object-relational mapping) tidak saling eksklusif dengan Stored Procedures. Sebagian besar ORM dapat menggunakan prosedur tersimpan. Kebanyakan ORM menghasilkan Prosedur Tersimpan jika Anda memilihnya. Jadi masalahnya bukan atau.
ORM dapat menghasilkan SQL yang tidak dapat diterima (dalam hal kinerja) dan Anda mungkin kadang-kadang ingin mengesampingkan SQL itu dengan SQL buatan tangan. Salah satu cara untuk mencapai ini adalah dengan menggunakan SP (prosedur tersimpan).
Di DotNet, Jangan gunakan prosedur tersimpan jika:
Jika Anda tidak terbiasa dengan prosedur tersimpan (bukan kasus Anda, tetapi termasuk untuk kelengkapan).
Jika Anda tidak ingin memperkenalkan lapisan kompleksitas dan versifying ke proyek Anda.
Anda membuat aplikasi yang harus bekerja dengan basis data yang berbeda atau yang harus direplikasi di beberapa server basis data (pembatasan terakhir ini hanya berlaku untuk beberapa basis data).
Perhatikan bahwa pemicu tidak dapat dibandingkan dengan ORM. Pemicu melakukan fungsi yang lebih baik tidak ada dalam kode aplikasi Anda (seperti mencatat atau menyinkronkan data di seluruh basis data).
Beberapa orang lebih suka menggunakan Stored Procedures daripada SQL dalam kode untuk alasan yang berbeda seperti keamanan (misalnya untuk mencegah injeksi SQL) dan untuk kecepatan yang diklaim. Namun, ini agak bisa diperdebatkan dan perlu diskusi rinci.
Jika ORM Anda tidak dapat menghasilkan Prosedur Tersimpan, dan Anda harus menulis sistem yang besar, maka Anda perlu mempertimbangkan pengkodean tangan ekstra berdasarkan kasing Anda.