Parámetros de linq a SQL SP
-
06-07-2019 - |
Pregunta
Tengo un SP al que quiero llamar desde linq. El SP tiene 5 parámetros, pero solo quiero pasar / necesito 2 de ellos.
¿cómo llamaría al SP como cuando voy a agregar los parámetros en el código que no construirá, ya que quiere todos los 5.
Solución
Tendría algo como esto:
MyDbDataContext db = new MyDbDataContext();
db.MyStoredProc(customerID, "sometext", null, null, null);
El éxito / el fracaso dependerían de las declaraciones SQL dentro de su sproc que tratan con valores nulos en los últimos 3 parámetros.
Otros consejos
Otra opción es arrastrar el proceso almacenado a su DBML por segunda vez y eliminar los parámetros que no desea pasar.
sobrecarga la llamada sproc.
No lo tengo frente a mí, pero debe ir a su archivo DataAccessName.cs y crear un nombre de método con la misma firma
firma del método sproc auto gen'd:
void sp_sproc(int a, int b, int c, int d, int e);
haría esto en su archivo DataAccessName.cs
void sp_sproc(int a, int b)
{
this.sp_sproc(a,b,0,0,0);
}
si los parámetros son anulables, así
void sp_sproc(int? a, int? b, int? c, int? d, int? e);
entonces podrías hacer
void sp_sproc(int a, int b)
{
this.sp_sproc(a,b,null,null,null);
}