传递多个参数以使用LINQ调用存储过程
本文关键字:LINQ 调用 存储过程 参数 | 更新日期: 2023-09-27 18:07:25
我想在我的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();
返回错误:
从存储提供程序的数据读取器读取时发生错误。详情请参阅内部异常。
希望这个示例代码对您有所帮助!
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();
这就是我如何使用带有2个参数的Store过程,您可以根据需要使用。
adxGYMDataContext db = new adxGYMDataContext();
var mysp = db.sp_memb_info_get_del(int.Parse(txt_id_memb.Text), true).Select(x=>x).ToList();
foreach (var item in mysp)
{
cmb_duration_memb.Text = item.memb_dur.ToString();
txt_tel_memb.Text = item.memb_tel.ToString();
}