Посмотрите на приведенный ниже код для загрузки списка
while (dataReader.Read())
{
City city;
if (City.TryLoad(dataReader, out city))
{
defaultCities.Add(city);
}
}
TryLoad читает программу чтения и загружает объект данных и возвращает true в случае успеха и false в случае неудачи.
Мне сказали, что выгода была в том, что код не будет выдавать ошибку, если код по какой-либо причине завершится с ошибкой при загрузке объекта. Таким образом, если одна строка данных повреждена, то она не добавляется к соединению по умолчанию. Более того, при загрузке при загрузке мы можем записать, какой конкретный ряд выдал и исправить ошибку.
С другой стороны, подход, который я использовал ранее, заключался в простой загрузке объектов и добавлении их в коллекцию.
while (dataReader.Read())
{
City city = new City();
city.Name = reader["Name"].ToString();
.
.
defaultCities.Add(city)
}
Хотя второй подход может потерпеть неудачу из-за искаженного значения в базе данных, разве вы не хотите этого? Разве ловить ошибки из-за пропущенного значения становится трудно в первом подходе?
Просто хотел узнать мнение других о плюсах и минусах двух подходов.
Также, пожалуйста, помогите пометить вопрос соответствующим образом.