У меня есть такой код:
var newMsg = new Msg { Var1 = var1, Var2 = var2 }; using (AppDataContext appDataContext = new AppDataContext(ConnectionString)) { appDataContext.CClass.InsertOnSubmit(newMsg); appDataContext.SubmitChanges(); }
После прочтения этого поста Я считаю, что применяется та же логика.
Кто-нибудь думает, что это объект SQL Injection Attack?
Второй ответ в сообщении, на которое вы ссылаетесь, гласит:
LINQ to SQL использует execute_sql с параметры.
Он не объединяет значения свойств в одну большую вставку ... VALUES ('...', '...')
Базовая операция DataContext осуществляется через SqlCommand, который использует параматизированный SQL.
Итак, ваш оператор вставки будет выглядеть так:
INSERT INTO [MSG] [Var1] = @p1, [Var2] = @p2
Нет, но вы все равно должны проверять пользовательские данные.