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.

Foi útil?

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);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top