Остаются ли новые объекты в памяти? - C#
Формулировка задачи:
Подскажите. Имеем объект db. Делаю запрос. существует ли запись. Если да заполняю его, если нет - создаю новый:
Вопрос:
Остаются ли НОВЫЙ объекты в памяти?
Т.к. я добавляю порядка 2 млн записей, со временем у меня копится оперативка. Возможно ли как то обнулить его принудительно? (GC не помог)
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();
}Решение задачи: «Остаются ли новые объекты в памяти?»
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;
}//ЗАКРЫВАЮ соединение
} //конец строки, идём к следующей.