Using a stored procedure or Linq is your choice, of course, both have pros and cons.
Basically, as a pro for Linq, you don’t have to spend your time creating a data layer, but in stored procedures you need to write a new stored procedure for each object (maybe you can have a general solution for this “saved” hell process ", but I think it will be difficult to maintain.) And I also think that storing a stored procedure is more complicated than Linq (of course, after you spent a little time with Linq.)
But, as expected, retrieving data using stored procedures is faster than using Linq.
And after Oracle and other Linq database support happen; if you are still using the stored procedure and you need to change your database or you want to support a different database, then you need to write Oracle and a different version of the database of these stored procedures, and I think that then it will be real hell, but not in Linq.
source share