Entity Framework Stored Procedures and POCO
.net, entity, poco, stored-procedures
Solution
Yes, you can use the generic version of ExecuteStoreQuery once you get to the ObjectContext:
var listOfType= ((IObjectContextAdapter)context).ObjectContext
.ExecuteStoreQuery<Type>("SPROCNAME");
Here is the MSDN sample code (just change the TSQL to a sproc)
And, here is one that shows how to deal with parameters
The newer versions of EF has SqlQuery and DbContext.Database to get the ObjectContext easier:
var listOfType = context.Database.SqlQuery<Type>("SPROCNAME");
Problem
I need advice on using stored procedures with Entity Framwork 4.x to return data into POCO objects. I don't want to have to copy the data from an entity object to a POCO object. I want to execute a stored proc and have the data loaded directly into my POCO class. Is there a way to do this? Do I need some sort of mapping like you would use in Nhibernate? If so, could this mapping be attribute based? Edit: Using Justin's help below, I found that the way to do this is: ``` SqlParameter p1 = new SqlParameter("@p1", "xxxx"); SqlParameter p2 = new SqlParameter("@p2", "yyyy"); SqlParameter[] parameters = new SqlParameter[2]; parameters[0] = p1; parameters[1] = p2; returned = base.ExecuteStoreQuery<YourClass>("exec your_stored_proc_name @p1, @p2", parameters); ```