Quantcast
Channel: Web API
Viewing all articles
Browse latest Browse all 4850

The data reader returned by the store data provider does not have enough columns for the query requested.

$
0
0

Hi All of you.

I am inserting data to table using stored procedure and EF-6 and WEB API. Please follow Table, Stored procedure and WEB API Code:

Table Code:

CREATE TABLE [dbo].[State](

[state_id] [bigint] IDENTITY(1,1) NOT NULL,

[state_name] [nvarchar](50) NULL,

[state_short_name] [nvarchar](2) NULL,

[company_id] [bigint] NULL,

[branch_id] [bigint] NULL,

[is_visible] [bit] NULL,

[created_by] [bigint] NULL,

[creation_date] [datetime] NULL,

[updated_by] [bigint] NULL,

[updation_date] [datetime] NULL,

 CONSTRAINT [PK_Tbl_State] PRIMARY KEY CLUSTERED 

(

[state_id] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

Stored Procedure:

CREATE Procedure [dbo].[USP_Insert_State]

(

@state_namenvarchar(50),

@state_short_name nvarchar(2),

@company_idbigint,

@branch_id bigint,

@is_visiblebit,

@created_bybigint,

@updated_bybigint,

@return_value int OUT

)

AS

BEGIN

IF NOT EXISTS(select * from State where state_name=@state_name)

BEGIN

insert into State(state_name,state_short_name,company_id,branch_id,is_visible,created_by,creation_date)

values(@state_name,@state_short_name,@company_id,@branch_id,@is_visible,@created_by,GETDATE())

set @return_value=1

END

ELSE

BEGIN

set @return_value=0

END

select @return_value=SCOPE_IDENTITY()  

END

ApiController:

[HttpPost]

        [Route("api/states")]

        public HttpResponseMessage Post([FromBody] State state)

        {

            try

            {

                ObjectParameter return_value = new ObjectParameter("return_value", typeof(int));

                dataContext.USP_Insert_State(state.state_name, state.state_short_name, state.company_id, state.branch_id, state.is_visible, 1, 1, return_value).ToList();

                if (Convert.ToInt32(return_value.Value) >= 1)

                {

                    var message = Request.CreateResponse(HttpStatusCode.Created, return_value);

                    message.Headers.Location = new Uri(Request.RequestUri + return_value.ToString());

                    return message;

                }

                else

                {

                    return Request.CreateResponse(HttpStatusCode.BadRequest, ModelState);

                }

            }

            catch (Exception ex)

            {

                return Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message.ToString());

            }

        }

Model.Context.cs:

public virtual ObjectResult<string> USP_Insert_State(string state_name, string state_short_name, Nullable<long> company_id, Nullable<long> branch_id, Nullable<bool> is_visible, Nullable<long> created_by, Nullable<long> updated_by, ObjectParameter return_value)

        {

            var state_nameParameter = state_name != null ?

                new ObjectParameter("state_name", state_name) :

                new ObjectParameter("state_name", typeof(string));

    

            var state_short_nameParameter = state_short_name != null ?

                new ObjectParameter("state_short_name", state_short_name) :

                new ObjectParameter("state_short_name", typeof(string));

    

            var company_idParameter = company_id.HasValue ?

                new ObjectParameter("company_id", company_id) :

                new ObjectParameter("company_id", typeof(long));

    

            var branch_idParameter = branch_id.HasValue ?

                new ObjectParameter("branch_id", branch_id) :

                new ObjectParameter("branch_id", typeof(long));

    

            var is_visibleParameter = is_visible.HasValue ?

                new ObjectParameter("is_visible", is_visible) :

                new ObjectParameter("is_visible", typeof(bool));

    

            var created_byParameter = created_by.HasValue ?

                new ObjectParameter("created_by", created_by) :

                new ObjectParameter("created_by", typeof(long));

    

            var updated_byParameter = updated_by.HasValue ?

                new ObjectParameter("updated_by", updated_by) :

                new ObjectParameter("updated_by", typeof(long));

    

            return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<string>("USP_Insert_State", state_nameParameter, state_short_nameParameter, company_idParameter, branch_idParameter, is_visibleParameter, created_byParameter, updated_byParameter, return_value);

        }

Please help me.


Viewing all articles
Browse latest Browse all 4850

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>