我想在Linq代码中调用存储过程。当我只使用一个参数时,它工作正常,但是当我想使用多个参数时,它会显示错误。
这就是我所做的 - 这项工作很好:
SqlParameter param1 = new SqlParameter("@Value1", val);
var abc = db.tablename.SqlQuery("SP_Name @Value1", param1).ToList();
现在我要添加第二个参数
SqlParameter param2 = new SqlParameter("@Value2", val2);
var abc = db.tablename.SqlQuery("SP_Name @Value1,@Value2", param1, param2 ).ToList();
它会返回错误:
从商店提供商的数据阅读器读取时发生错误。有关详细信息,请参阅内部异常。
答案 0 :(得分:3)
希望这个示例代码可以帮助您!!
var param1 = new SqlParameter();
param1.ParameterName = "@Value1";
param1.SqlDbType = SqlDbType.Int;
param1.SqlValue = val1;
var param2 = new SqlParameter();
param2.ParameterName = "@Value2";
param2.SqlDbType = SqlDbType.NVarChar;
param2.SqlValue = val2;
var result = db.tablename.SqlQuery("SP_Name @Value1,@Value2", param1, param2 ).ToList();