J'ai beaucoup de classes pour accès aux données dans un de mes projets, mais ces classes deviennent extrêmement volumineux en raison du code qui récupère les données des lecteurs de données.Classes partielles et données le code d'accès
Mon code ressemble généralement à ceci:
// Execute the data reader
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;
}
Certaines des méthodes de Fill facilement atteindre plus de 400 lignes, donc est-il un moyen convenable de les dissocier? Des cours partiels seraient-ils acceptables? Dans un monde idéal, j'utiliserais un ORM, mais je ne peux malheureusement pas me permettre d'apprendre à l'utiliser.
Convenu - Bien sûr, certains ORM ne prennent beaucoup de temps pour apprendre, mais si vous ne pouvez pas apprendre LINQ to SQL dans le temps qu'il faut pour écrire une méthode 400 en ligne, tout ce que je peux dire est ... euh , vous devez être très rapide à l'écriture des méthodes de 400 lignes! ** sourire ** – itowlson
Je ne serais pas d'accord que LinqToSql ou tout autre ORM est rapide et/ou facile à apprendre. La plupart des personnes qui étudient LinqToSql sont confrontées à des problèmes liés à la gestion de la durée de vie de DataContext, au détachement avant une mise à jour et à bien d'autres problèmes ORM normaux. –
J'ai une application que j'ai écrite pour me donner le code, donc l'écriture du code de cookie cutter n'est pas vraiment un problème. Cela ne me dérangerait pas de passer au framework Entity, mais il est peu probable que nous passions à VS2010 pendant un bon moment. –