Предположим, у меня есть файл с несколькими строками, каждая из которых представляет 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();