Trouble Passing Parameter to LinqToSql Stored Procedure

Posted by Webjedi on Stack Overflow See other posts from Stack Overflow or by Webjedi
Published on 2010-05-05T21:13:02Z Indexed on 2010/05/05 21:18 UTC
Read the original article Hit count: 238

Filed under:
public IEnumerable<T> ExecuteStoredProcedure<T>(params object[] parameters)
        {
            Type genericType = typeof(T);

            string commandthing = genericType.Name.Replace("Result", "");
            //_db is my Linq To Sql database
            return _db.ExecuteQuery<T>(commandthing, parameters).AsEnumerable();
        }

The stored procedure is named GetOrder and has a single int parameter of orderid. I'm calling the above like so:

SqlParameter parm1 = new SqlParameter("@orderid", SqlDbType.Int);
                parm1.Value = 123;
 var results =
                    _session.ExecuteStoredProcedure<GetOrderResult>(parm1).Single();

I'm receiving the following error: A query parameter cannot be of type 'System.Data.SqlClient.SqlParameter'

Thoughts? Or am I just missing something obvious?

© Stack Overflow or respective owner

Related posts about linq-to-sql