Получение объекта из контекста после добавления () еще до того, как был вызван SaveChanges ()

Предположим, у меня есть файл с несколькими строками, каждая из которых представляет Person , сущность Person имеет столбец идентификаторов , который также является первичным ключом . Предполагая, что Человек может повторяться в файле, если это так, возможно, я хочу выполнить сценарий победы последней записи. В приведенном ниже примере я использую репозиторий для извлечения человека из базы данных по номеру социального страхования. Проблема в том, что когда тот же SSN снова появляется в файле, репозиторий по-прежнему возвращает ноль, даже если технически человек с этим SSN уже был добавлен в контекст ( SaveChanges не был вызван еще). Я понимаю, что могу обойти это, отслеживая, какие объекты Person уже были добавлены. Мне интересно, что лучше всего подходит для этого сценария. Спасибо.

foreach(row in fileRows)
{
    Person person = personRepository.GetBySSN(row.SSN);

    if(person == null)
    {
        //insert logic
    }
    else
    {
        //update logic
    }
}

personRepository.SaveChanges();
6
задан e36M3 23 June 2011 в 16:22
поделиться