重构C#类

重构C#类,c#,visual-studio-2010,refactoring,C#,Visual Studio 2010,Refactoring,我目前正在开发一个本地应用程序,它可以访问SQLServer2008Express。我所做的是创建一个类来管理数据库中的所有访问和操作(例如插入、删除等),但是这个类正在变得越来越大,并且至少有40个方法。所以我的问题是:有没有办法重构这种类?或者这样做正常吗?是的,它简称为层或ORM 特别是,我建议看一下LINQtoSQL,因为这是一个很好的简单介绍。您几乎可以从add->new Item->Data(称之为DB.dbml)添加一个新的“Linq to SQL Classes”对象,转到视图-

我目前正在开发一个本地应用程序,它可以访问SQLServer2008Express。我所做的是创建一个类来管理数据库中的所有访问和操作(例如插入、删除等),但是这个类正在变得越来越大,并且至少有40个方法。所以我的问题是:有没有办法重构这种类?或者这样做正常吗?

是的,它简称为层或ORM

特别是,我建议看一下LINQtoSQL,因为这是一个很好的简单介绍。您几乎可以从
add->new Item->Data
(称之为DB.dbml)添加一个新的“Linq to SQL Classes”对象,转到
视图->服务器资源管理器
(指定SQL Server设置),将SQL表拖到设计器窗口上,构建,然后可以在代码中访问类似数据库的对象:

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

Linq to实体将为您完成大部分这一切。你考虑过这个选择吗


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

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

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

Linq到实体与Linq到SQL: