Коллекция была изменена; операция перечисления может не выполняться. В foreach
я пытаюсь получить данные (данные фондов) и отфильтровать результаты по их балансу
но эта ошибка появляется :
System.InvalidOperationException: 'Collection was modified; enumeration operation may not execute.'
at <pre> foreach (account_funds f in account_Funds)
Что я уже пробовал:
public void loadFunds() { mrsalesdbEntities DB01 = ConnectionTools.OpenConn(); var account_Funds = DB01.account_funds.Where(u => u.accfunds_CustodyType == 1 && u.r_branche_ID == BasicVars.Branche).ToList(); foreach (account_funds f in account_Funds) { if (trsBalance(f.accfunds_ID) == 0) { account_Funds.Remove(f); } } account_fundsBindingSource.DataSource = account_Funds; NameInput.EditValue = account_Funds.FirstOrDefault().accfunds_ID; }
public decimal trsBalance(int ID) { decimal blc = 0; if (ID != 0) { var DB1 = ConnectionTools.OpenConn(); var account = DB1.account_items.Where(u => u.accitem_TrsID == ID && u.accitem_TrsType == 0 && u.accitem_AccID == 60); decimal debet = Convert.ToDecimal(account.Sum(s => s.accitem_Debit)); decimal credit = Convert.ToDecimal(account.Sum(s => s.accitem_Credit)); blc = debet - credit; } return blc.GetDecimalParts(); }