Вы можете выполнить SP из DataContext:
using (DataContext ctx = DataContext())
{
int result = ctx.SP_ProcedureName("1", "2", "3");
}
Но сначала вам нужно добавить его в DataContext Diagram из вашей базы данных при добавлении таблиц, но из папки «Хранимые процедуры».
это более оборонительное и аккуратное решение.но если вы предпочитаете использовать необработанную командную строку, используйте хотя бы параметризованный запрос, как в этом примере:
string sqlText = "SELECT columnName FROM Test_Attachments WHERE Project_Id =@PID1 AND [Directory] = @Directory";
SqlCommand myCommand = new SqlCommand(sqlText, SqlConnection);
myCommand.Parameters.AddWithValue("@PID1", 12);
myCommand.Parameters.AddwithValue("@Directory", "testPath");
Это способ избежать внедрения SQL-кода в ваш код.Также вы можете использовать блок finally для закрытого соединения:
finally
{
command.Connection.Close();
}