I Love Stackoverflow
I Love Stackoverflow

Reputation: 6868

How do I bind stored procedure single result set with single class object result?

I have a stored procedure which returns following result set:

Id : int
Name : string
Image : string
Address : string

Code:

public class SPResultSet
{
       public int Id { get; set; }
       public string Name { get; set; }
       public string Image { get; set; }
       //other additional properties
} 

var data = ctx.Database
              .SqlQuery<SPResultSet>("[dbo].[GET_Data] params", sqlParameters)
              .FirstOrDefault();

Error :

System.ArgumentException: 'No mapping exists from object type System.Collections.Generic.List`1[[System.Data.SqlClient.SqlParameter, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] to a known managed provider native type.'

How do I bind the stored procedure's single result set with single class object result?

Note: the stored procedure returns only 1 row of data.

Upvotes: 0

Views: 520

Answers (1)

Vivek Nuna
Vivek Nuna

Reputation: 1

You should not pass the parameters as list, you should pass the each parameter to the stored procedure.

Or it could be passed as sqlParameters.ToArray() in your case.

Note: It would be great if you provide the complete code with parameters you are passing and the stored procedure.

Upvotes: 1

Related Questions