重构C#类

时间:2010-07-20 04:11:29

标签: c# visual-studio-2010 refactoring

我目前正在开发一个可以访问SQL Server 2008 Express的本地应用程序。我所做的是创建一个管理数据库上所有访问和操作的类(例如INSERT,DELETE等),但是这个类的增长非常大,并且至少有40个方法。所以我的问题是:有没有办法重构这类课程?或者这样做是否正常?

3 个答案:

答案 0 :(得分:10)

是的,它被称为Object-Relational-Mapping图层或简称ORM。

特别是我建议查看Linq To SQL,因为这是一个很好的简单介绍。您几乎从Add->New Item->Data添加了一个新的“Linq to SQL Classes”对象(称之为DB.dbml),转到View->Server Explorer(指定SQL服务器设置),将SQL表拖到设计器窗口中,构建,然后可以像代码中的对象一样访问您的数据库:

DBDataContext db = new DBDataContext();
var cars = db.Cars.Where(c => c.Name == "Ford Falcon");

答案 1 :(得分:3)

您可以尝试这些用于.NET的ORM库:

  • BLToolkit - >这些是非常简单的库,可以开始使用ORM,非常容易入手
  • Linq2Sql - >这个库是一个死的项目,微软已停止开发它,我认为使用“死”技术不是一个好主意
  • 实体框架 - >一个好的开始,有和简单的向导创建具有必要的表映射的初始模型(只需安装它并创建“新实体项目”,该向导将帮助您创建第一个映射)
  • NHibernate - >它是一种“怪物”ORM映射库,有点复杂,但是.NET ORM市场上最先进的库之一

答案 2 :(得分:2)

Linq to Entities将为您完成大部分工作。你考虑过这个选择吗?

否则,似乎大多数人最终会为每个表创建一个类,并且通常在业务逻辑层中处理更复杂的关系管理。