在我的一个项目中,我有很多用于数据访问的类,但由于从数据读取器中检索数据的代码,这些类变得非常庞大。部分类和数据访问代码
我的代码通常是这样的:
// 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;
}
一些填充方法轻松命中400+线,所以有这些分离出一个体面的方式?部分班级可以接受吗?在理想的世界中,我会使用ORM,但不幸的是我无法承担学习如何使用ORM的时间。
同意 - 当然,有些ORM需要很长时间才能学习,但如果在编写400行方法的时间内无法学习LINQ to SQL,我只能说...呃,你必须快速写出400行的方法! ** grin ** – itowlson 2009-10-26 11:03:54
我不同意LinqToSql或任何其他ORM的快速和/或易于学习。大多数学习LinqToSql的人都在解决DataContext生命周期管理问题,更新之前的分离以及许多其他常见的“ORM”问题。 – 2009-10-26 11:42:15
我有一个我写的代码给我的应用程序,所以编写cookie切割代码并不是什么大问题。 我不介意切换到实体框架,但我们很可能不会升级到VS2010很长一段时间。 – 2009-10-26 12:28:29