Как я могу отправить список моделей C # в хранимую процедуру в SQL? - PullRequest
0 голосов
/ 13 октября 2018

Я хочу отправить список этой модели и получить его в виде хранимой процедуры SQL:

public class Worker
{
    public int Id { get; set; } 
    public string Name { get; set; } 
    public string LastName { get; set; }
}

Список:

List<Worker> worker = new List<Worker>({ 
    new Worker {
        Id = 1, 
        Name = "Lois", 
        LastName= "Smith"
    },
    new Worker {
        Id = 2, 
        Name = "Peter", 
        LastName= "Smith"
    }
});

Хранимая процедура: ???????????

1 Ответ

0 голосов
/ 13 октября 2018

Я хотел бы пойти дальше и ссылаться на эту страницу.https://docs.microsoft.com/en-us/sql/relational-databases/tables/use-table-valued-parameters-database-engine?view=sql-server-2017. Вы можете создать пользовательский тип таблицы и настроить хранимую процедуру, чтобы в качестве входных данных использовался пользовательский тип таблицы.

Если вы используете SqlCommand, просто добавьте список объектов.под comm.Parameters, прежде чем вызывать ExecuteNonQuery.Обратите внимание, что имена и типы вашего объекта должны соответствовать определенному вами типу таблицы.

Я вижу, что другие рекомендовали выполнять вызовы индивидуально.Это часто хорошо, если вы можете управлять своими подключениями.Если операция вставляет много данных в цикл, и вы вызываете процедуру для добавления записей 1 за раз, вы можете получить проблемы с соединением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...