By Looking at database first approach, in auto generated context class it defines stored procedures as a virtual functions, Here I share a function from my project, this stored procedure returns a complex type of question.
public virtual ObjectResult<Question> GetMyInnerQuestions(Nullable<int> id)
{
var idParameter = id.HasValue ?
new ObjectParameter("Id", id) :
new ObjectParameter("Id", typeof(int));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<Question>("GetMyInnerQuestions", idParameter);
}
I used this in my code first do I can call stored procedures like functions as:
IQueryable<Question> questions = db.GetMyInnerQuestions(id).AsQueryable();
Hope this help