Я использую EF Core, и я хотел бы отправить 4 запроса на удаление, используя ExecuteSqlCommandAsync
.
Я пытаюсь это:
List<object> myParameters = new List<object>() {3,4};
string myTsql = "delete MyTable where ID = {0}";
myTsql = myTsql + "; delete MyTabl01 where ID = {1}";
await myDbContext.DataBase.ExecuteSqlCommandAsync(myTsql, myParameters);
Проблема заключается в том, что, когда я конкатВо второй строке для добавления нового запроса EF Core обнаруживает, что я не параметризовал запрос.Я должен использовать строку, созданную сразу.
В любом случае, это действительно не параметризованный запрос?Я создаю каждый запрос с параметрами, и я не назначаю никакую другую переменную, поэтому я не уверен, возможно ли сделать SQL-инъекцию.
Мой вопрос: возможно ли параметризовать запрос, которыйa создан как объединение двух или более строк?
Если нет, другой альтернативный вариант - отправлять каждый запрос к базе данных, но затем я выполняю N операций копирования в базу данных.
Другой вариант это будетиспользовать объекты POCO, но для удаления я предпочитаю T-SQL, потому что в противном случае мне придется обрабатывать исключение, если не затронуты строки, потому что другой процесс удаляет некоторые строки.
Спасибо