c# - 部分类和数据访问代码

标签 c# partial-classes

我的一个项目中有很多用于数据访问的类,但由于从数据读取器检索数据的代码,这些类变得非常庞大。

我的代码通常是这样的:

// 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;
}

一些 Fill 方法很容易达到 400 多行,那么有没有合适的方法将它们分开?可以接受部分类(class)吗?在理想情况下,我会使用 ORM,但遗憾的是我没有时间学习如何使用它。

最佳答案

当然,您可以使用分部类来分离 Fill 方法的代码。您甚至可以考虑使用模板系统来生成这些部分类文件。

也就是说,ORM 是一种更简单的解决方案,如果您的需求很简单,那么实际上不需要那么长时间就可以解决。

对于不需要精细控制的基本需求,LINQ to SQL 是一种享受,与许多人认为它作为 VS 2010/.NET 4 的一部分进行更新的想法相反。

另一个选项是 Entity Framework,它也作为 VS 2010/.NET 4 的一部分进行了更新。它为您提供了更多的控制权,但也可能需要更多的学习。

创建这些 400 多行长的 Fill 方法需要多长时间?你确定你不能用那个时间来学习 ORM 吗?程序员不应该感到被迫不断地编写千篇一律的代码(例如 ADO.NET 填充方法),它会很快从编程中带走乐趣!

关于c# - 部分类和数据访问代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1624131/

相关文章:

c# - 如何将ListView内容保存到文本文件?

c# - 将图像源绑定(bind)到页面

c# - 将部分类与普通类相结合

entity-framework - Poco+Entity Framework 4. 我应该在哪里添加使用 Poco 类的方法?

c# - .Net 如何为部分类创建构造函数?

c# - 可序列化的部分类

c# - 使用单例而不是全局静态实例

c# - 重复的相机流

c# - 检查对象是否为空会抛出异常?

c# - 在一个继承类的部分类中声明类字段,然后在另一个中初始化它