У меня такой код:
var newMsg = new Msg
{
Var1 = var1,
Var2 = var2
};
using (AppDataContext appDataContext = new AppDataContext(ConnectionString))
{
appDataContext.CClass.InsertOnSubmit(newMsg);
appDataContext.SubmitChanges();
}
После прочтения эта почта я считаю, что применима та же логика.
Кто-нибудь думает, что это подвержено атаке с использованием SQL-инъекции?





Второй ответ в сообщении, на которое вы ссылаетесь, гласит:
LINQ to SQL uses execute_sql with parameters.
Он не объединяет значения свойств в один большой INSERT ... VALUES ('...', '...')
Параметризованный ввод пользователя защищен от инъекций. Инъекционные атаки применяются только тогда, когда пользовательский ввод объединен.
Нет, но вы все равно должны проверять данные пользователя.
Базовая операция DataContext осуществляется через SqlCommand, который использует параметризованный SQL.
Итак, ваш оператор вставки будет выглядеть так:
INSERT INTO [MSG] [Var1] = @p1, [Var2] = @p2
Я не уверен, что это так ... это просто параметризованная команда. execute_sql используется, чтобы сделать то же самое из в пределах TSQL.