【发布时间】:2011-07-10 05:31:57
【问题描述】:
看看下面的代码来加载一个列表
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)
}
虽然第二种方法可能会由于数据库中的值损坏而失败,但您不希望这样吗?在第一种方法中,由于缺少值而捕获错误会变得困难吗?
只是想了解其他人对这两种方法的利弊的看法。
另外,请帮助适当地标记问题。
【问题讨论】:
标签: architecture data-access-layer