У меня есть этот метод ниже, таблицы данных созданы в текущем методе, и я отправлю эти 4 таблицы данных в sql процедуру, которая возвращает истину / ложь на основе некоторых проверок.
сомнение: для однопоточного приложения отлично работает . в будущем мы планируем реализовать задачи, чтобы несколько задач могли вызывать этот метод, подходит ли этот способ записи для нескольких потоков или мне нужно будет реализовать « lock» .
Мое понимание:
Эти таблицы не используются несколькими потоками, каждый поток имеет свои собственные таблицы данных, поскольку они создаются в текущем методе, поэтому нет необходимости реализовывать блокировку при добавлении столбцов в таблицы данных . Я правильно понимаю?
private static bool ValidateContent()
{
DataTable bomdata = DataTables.GetChangeDataTable();
DataTable rateupdata = DataTables.GetChangeDataTable();
DataTable domaintabledata = DataTables.GetChangeDataTable();
DataTable algo = DataTables.GetChangeDataTable();
_pvCircularInfo.CircularInfo.ForEach(x =>
{
x.CircularDetails.Algorithms.ForEach(a => {
bomdata.Columns.add(/*adds stmg here to data table*/);
});
x.CircularDetails.FormsInfo.risks.ForEach(a => {
bomdata.Columns.add(/*adds stmg here to data table*/);
});
x.CircularDetails.FormRules.ForEach(a => {
bomdata.Columns.add(/*adds stmg here to data table*/);
});
x.CircularDetails.Lookuptables.ForEach(a => {
bomdata.Columns.add(/*adds stmg here to data table*/);
});
x.CircularDetails.DomainTables.ForEach(a => {
bomdata.Columns.add(/*adds stmg here to data table*/);
});
});
calls the db proc by sending all 4 data tables thast returns true or false
return false/false;
}