Я Субъект Candidate
SaveChanges бросает ошибку проверки в течение цикла
public class Candidate
{
public int Id { get; set; }
[Required]
public string Name { get; set; }
public int Age { get; set; }
}
Теперь я список candidates
и цикл I списка и сохранить каждую из них по отдельности. Теперь некоторые элементы из списка не соответствуют валидациям, указанным на модели Candidate
.
var dbContext = new TestDbContext();
var list = new List<Candidate>
{
new Candidate { Name = "", Age = 20 },
new Candidate { Name = "Tom" , Age = 25 }
};
foreach (var item in list)
{
try
{
dbContext.Candidates.Add(item);
dbContext.SaveChanges();
}
catch (Exception)
{
// Handle exception
}
}
Очевидно, что первый элемент будет подбросить Ошибка проверки т.е. требуется
Имя.
Но второй элемент в списке, очевидно, удовлетворяет требования валидации, но я еще раз получить Validation ошибку т.е. требуется
Имени.
Что я здесь делаю неправильно и почему код ведет себя так?
когда вы добавляете элемент, он все еще находится в DbContext; удалите эти элементы в Catch, когда вы получите исключение – techspider
Я должен сделать dbContext.Candidates.Remove (item) ??? –
Я бы так подумал – techspider