Остаются ли новые объекты в памяти? - C#

Узнай цену своей работы

Формулировка задачи:

Подскажите. Имеем объект db. Делаю запрос. существует ли запись. Если да заполняю его, если нет - создаю новый:
 using (var context = new DBcon())
                    {
                        mainDB db = (from c in context.test where c.nProizv == NProizv select c).FirstOrDefault();
                        if (db != null)
                        {
                            db.update_date = DateTime.Now;
                            db.delete_date = null;
                        }
                        else
                        {
                            db = new mainDB();
                            db.update_date = DateTime.Now;
                            context.test.Add(db);
                        }
..добавление данных в объект  db..
            context.savechanges();
}
Вопрос: Остаются ли НОВЫЙ объекты в памяти? Т.к. я добавляю порядка 2 млн записей, со временем у меня копится оперативка. Возможно ли как то обнулить его принудительно? (GC не помог)

Решение задачи: «Остаются ли новые объекты в памяти?»

textual
Листинг программы
  foreach (string l in File.ReadLines(path, Encoding.GetEncoding(1251))) //open file & reading row
            { 
     .. достаю nProizv из строки.
                        using (var context = new DBcon()) //открываю соединение
                    {
//сравниваю nProizv с БД
                        mainDB db = (from c in context.test where c.nProizv == NProizv select c).FirstOrDefault();
                        if (db != null)
                        {//если есть, заполняю объект maindb
                            db.update_date = DateTime.Now;
                            db.delete_date = null;
                        }
                        else
                        {//если нет, создаю новый объект mainDB
                            db = new mainDB();
                            db.update_date = DateTime.Now;
                            context.test.Add(db);
                        }
//Делаю полный парсинг строки. Присваиваю объекту значения:
               db.debtor = кусок строки;
               db.adress = кусок строки;
               .... и т.д.
            context.savechanges();//сохраняю объект
                db = null;
                 }//ЗАКРЫВАЮ соединение
            } //конец строки, идём к следующей.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5
Похожие ответы