1つのinパラメーターと2つのoutパラメーターを持つストアドプロシージャを呼び出そうとしています。
スクリプトとして、私はそれを次のように呼びます:
set @MaxPrice = 0.00;
set @MinPrice = 0.00;
set @BSku = '1011001403';
call GetSkuMinMaxPrice(@Sku,@MaxPrice, @MinPrice);
そして私は私の価格を取り戻します
これをef5で呼び出すために私が持っているものは次のとおりです。
decimal? minPrice;
decimal? maxPrice;
var skuParameter = new MySqlParameter("?SKU", productToUpload.Sku)
{
Direction = ParameterDirection.Input
};
var maxPriceParameter = new MySqlParameter("?MaxPrice", SqlDbType.Decimal)
{
Direction = ParameterDirection.Output
};
var minPriceParameter = new MySqlParameter("?MinPrice", SqlDbType.Decimal)
{
Direction = ParameterDirection.Output
};
db.Database.ExecuteSqlCommand("call GetSkuMinMaxPrice(?SKU,?MaxPrice,?MinPrice)",
skuParameter,
maxPriceParameter,
minPriceParameter);
minPrice = minPriceParameter.Value as decimal?;
maxPrice = maxPriceParameter.Value as decimal?;
私にはこれは問題ないように見えますが、MySQLサーバーから次のエラーメッセージが表示されますOUT or INOUT argument 2 for routine tng.GetSkuBaseMinMaxPrice is not a variable or NEW pseudo-variable in BEFORE trigger
。
では、 Entity Frameworkを使用しない以外に、これを機能させるには何をする必要がありますか?
これまでの私の研究のいくつか: