I have problem with entity framework and mysql.
I have solved entity framework function parameters problem with this answer
But when I want to add some data with mysql stored procedure I have
Parameter ‘kick_Prod_StateID’ not found in the collection.
Error in C#.
My procedure like below:
CREATE PROCEDURE CreateState_(
IN kick_Prod_StateID INT(11),
IN kick_ShortName VARCHAR(3),
IN kick_StateName VARCHAR(50)
)
BEGIN INSERT INTO State_
(
Prod_StateID_,
ShortName_,
StateName_
)
VALUES
(
kick_Prod_StateID ,
kick_ShortName ,
kick_StateName
) ;
END$$
and entity framework created C# code like below :
public ObjectResult<State_> AddState(Nullable<global::System.Int32> prod_StateID_, global::System.String shortName_, global::System.String stateName_)
{
ObjectParameter prod_StateID_Parameter;
if (prod_StateID_.HasValue)
{
prod_StateID_Parameter = new ObjectParameter("Prod_StateID_", prod_StateID_);
}
else
{
prod_StateID_Parameter = new ObjectParameter("Prod_StateID_", typeof(global::System.Int32));
}
ObjectParameter shortName_Parameter;
if (shortName_ != null)
{
shortName_Parameter = new ObjectParameter("ShortName_", shortName_);
}
else
{
shortName_Parameter = new ObjectParameter("ShortName_", typeof(global::System.String));
}
ObjectParameter stateName_Parameter;
if (stateName_ != null)
{
stateName_Parameter = new ObjectParameter("StateName_", stateName_);
}
else
{
stateName_Parameter = new ObjectParameter("StateName_", typeof(global::System.String));
}
return base.ExecuteFunction<State_>("AddState", prod_StateID_Parameter, shortName_Parameter, stateName_Parameter);
}
Error in this line ==>
return base.ExecuteFunction<State_>("AddState", prod_StateID_Parameter, shortName_Parameter, stateName_Parameter);
How can I solve this problem?
Thx
I solved the problem.
The Problem was stored procedure parameters.
When we use mysql and entity framework together, we should give same names to table and value parameters.
I mean the stored procedure should be: