Linq para parâmetros SQL SP
-
06-07-2019 - |
Pergunta
Eu tenho um SP que eu quero chamar de LINQ. O SP tem 5 parâmetros, mas eu só quero passar / necessidade de 2 deles.
como eu ia chamar o SP como quando eu vou para adicionar os parâmetros em código que costuma construir como ele quiser todos os 5.
Solução
Você teria algo como isto:
MyDbDataContext db = new MyDbDataContext();
db.MyStoredProc(customerID, "sometext", null, null, null);
sucesso / fracasso vai depender das instruções SQL dentro de seu sproc lidar com valores nulos nesses últimos 3 parâmetros.
Outras dicas
Outra opção é arrastar o proc armazenados em seu DBML uma segunda vez e excluir os parâmetros que você não quer passar.
sobrecarga a chamada sproc.
Eu não tê-lo na frente de mim, mas você goto seu arquivo DataAccessName.cs e criar um nome de método com a mesma assinatura
auto gen'd assinatura do método sproc:
void sp_sproc(int a, int b, int c, int d, int e);
Você faria isso em seu arquivo DataAccessName.cs
void sp_sproc(int a, int b)
{
this.sp_sproc(a,b,0,0,0);
}
Se os parâmetros são anulável, como assim
void sp_sproc(int? a, int? b, int? c, int? d, int? e);
então você poderia fazer
void sp_sproc(int a, int b)
{
this.sp_sproc(a,b,null,null,null);
}