我正在维护一些C#2.0代码,程序员通过打开一个DataReader然后将它传递给该对象的构造函数来使用一种读取业务对象集合的模式。我看不出有什么明显的错误,但对我来说感觉很糟糕。这可以吗?将DataReader传递给构造函数可以吗?
private static void GetObjects()
{
List<MyObject> objects = new List<MyObject>();
string sql = "Select ...";
SqlConnection connection = GetConnection();
SqlCommand command = new SqlCommand(sql, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
while (reader.Read())
objects.Add(new MyObject(reader));
reader.Close();
}
public MyObject(SqlDataReader reader)
{
field0 = reader.GetString(0);
field1 = reader.GetString(1);
field2 = reader.GetString(2);
}
我的例子并不清楚,但假设MyObject是一个单独的类。 – Sisiutl 2009-05-19 22:59:32
你可以改变你的代码,使其成为一个类:) :) – 2009-05-19 23:02:56