Вопрос

У меня есть ИП, которому я хочу позвонить из linq. У SP есть 5 параметров, но я хочу передать только 2 из них.

как бы я назвал SP, как когда я иду, чтобы добавить параметры в код, который он не будет строить, как он хочет все 5.

Это было полезно?

Решение

У вас было бы что-то вроде этого:

MyDbDataContext db = new MyDbDataContext();

db.MyStoredProc(customerID, "sometext", null, null, null);

Успех / неудача будет зависеть от операторов SQL внутри sproc, имеющих дело с нулями по этим последним 3 параметрам.

Другие советы

Другой вариант - перетащить сохраненный процесс во второй DBML и удалить параметры, которые вы не хотите передавать.

перегрузить вызов sproc.

У меня нет его передо мной, но вы должны перейти к файлу DataAccessName.cs и создать имя метода с той же подписью

подпись метода автоматического генерации sproc:

void sp_sproc(int a, int b, int c, int d, int e);

вы сделаете это в своем файле DataAccessName.cs

void sp_sproc(int a, int b)
{
    this.sp_sproc(a,b,0,0,0);
}

если параметры обнуляются, например, так

void sp_sproc(int? a, int? b, int? c, int? d, int? e);

тогда вы могли бы сделать

void sp_sproc(int a, int b)
{
    this.sp_sproc(a,b,null,null,null);
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top