I have many classes for accessing data in one of my projects, but these classes become extremely cumbersome because of code that retrieves data from data readers.
My code usually looks like this:
using (DbDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
obj = this.FillDataReader(reader);
objlist.Add(obj);
}
}
internal SomeObject FillDataReader(IDataReader dr)
{
SomeObject obj = new SomeObject ();
if (!dr.IsDBNull(dr.GetOrdinal("objectID")))
{
obj.ID = dr.GetInt32(dr.GetOrdinal("objectID"));
}
return obj;
}
Some of the Fill methods easily fall into 400 lines, so is there a way to separate them? Are partial classes allowed? In an ideal world, I would use ORM, but, unfortunately, I cannot afford the time to learn how to use it.
source
share