Я пытаюсь вставить данные из двух List
. Я могу успешно вставить из одного List
, но добавление второго списка с использованием foreach loop
не работает должным образом.Entity Framework: как вставлять данные при циклировании по нескольким спискам
Как пропустить каждый из этих списков, чтобы я мог вставлять их значения?
Код:
private void InsertList()
{
var listA = new List<string>();
var listB = new List<string>();
//Populate both list by splitting items in listbox
foreach (ListItem item in ListBox1.Items)
{
var components = item.Value.Split('/');
listA.Add(components.First());
listB.Add(components.Last());
}
using (DataContext dataContext = new DataContext())
{
foreach (var itemA in listA)
{
foreach (var itemB in listB)
{
LIST_OBJECTS listObject = new LIST_OBJECTS
{
LIST_ITEM_A = itemA,
LIST_ITEM_B = itemB
};
dataContext.LIST_OBJECTS.Add(listObject);
}
}
dataContext.SaveChanges();
}
}
, что является результатом? – Guy
Второй цикл вызывает многократную рекурсивную вставку. Поэтому я получаю больше строк, вставленных на основе цикла в обоих списках. – Asynchronous
Вставляя таким образом, что вам может быть лучше всего подан старинный цикл 'for'. – jdphenix