2016-11-17 4 views
1

Я - detaching каждый ученик от local context. Следующий код работает нормально и detach каждая запись студенческого объекта из локального контекста.удаление/удаление дублирующегося объекта из локального контекста

_context.Set<Students>().Local.ToList().ForEach(x => 
{ 
    _context.Entry(x).State = EntityState.Detached; 
}); 

Что делать, если мне просто нужно удалить/удалить только дубликат записи Студента из локального контекста? Как я могу это сделать?

Я использую EF 5.0

ответ

0

Легче проверить при добавлении, что он не является дубликатом.

Но просто группа, пропустите первый и отсоедините остальные?

_context.Set<Students>() 
     .Local 
     .ToList() 
     .GroupBy(x => x.Name) 
     .SelectMany(g=>g.Skip(1)) 
     .ForEach(x => 
{ 
    _context.Entry(x).State = EntityState.Detached; 
}); 
Смежные вопросы