【发布时间】:2012-01-19 09:19:32
【问题描述】:
我对实体框架和 mysql 有疑问。 我用this answer解决了实体框架函数参数问题
但是当我想用 mysql 存储过程添加一些数据时,我有
在集合中找不到参数“kick_Prod_StateID”。
C# 中的错误。
我的程序如下:
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$$
和实体框架创建的 C# 代码如下:
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);
}
这一行有错误 ==>
return base.ExecuteFunction<State_>("AddState", prod_StateID_Parameter, shortName_Parameter, stateName_Parameter);
我该如何解决这个问题?
谢谢
【问题讨论】:
-
请贴出相关的C#代码,这大概就是问题所在
-
您是否尝试过从 INT 声明中删除显示宽度
(11)? -
@ThomasLevesque 我已编辑
-
@Strillo 是的,我试过了,但结果是一样的
标签: c# mysql entity-framework stored-procedures