2017-08-30 195 views
0

我想了解更多关于在使用数据库时使用类的正确方法。这里是我认为可以的例子(使用C#和SQL Server,如果好奇的话)类和数据库的最佳实践

我有一个名为“Features”的表,其中的大多数列包含ID(外键)。要将该表加载到应用程序中,我创建了一个“DBFeatures”类来保存所有列。接下来,我应该有一个常规的“功能”类,它具有“DBFeatures”类中所有属性的实际值。 “功能”类将具有一种方法,该方法打开与数据库的连接以获取具有给定ID的所有正确值。然后可以按原样使用“特征”类。

同样会反过来,我创建一个“Features”对象,然后它将它转换为一个“DBFeatures”类,在插入时传递给数据库。

这是正确的方式去做这件事吗?还有什么其他选择会更好?唯一的其他选择是只有一个类“DBFeature”类,并且当我创建该类的对象时,每次设置或获取属性时,都必须通过提供ID来访问数据库以获取值。

编辑

我将使用表格的数据。大部分表格都是只读的,它们将被存储到一个对象列表中,然后可以与控件一起使用(例如组合框的数据源)。此外,我希望能够将用户输入加载到将输出到数据库中的表的类中。

回答

1

关于如何做某事的很多计划取决于你没有提供的实现。你打算怎么处理你的物体?是否需要报告?你需要操纵这些值吗?

我打算假设你将要操纵数据,在这种情况下,你应该有一个类打开数据库并将其加载到表示它的类中。

该类可以具有与列对应的属性,然后可以使用该类的列表来表示行。

这只是一个例子,如何做到这一点,但不知道你的意图是什么,并有更多的细节不可能说。

+0

我将使用表单的数据。大部分表格都是只读的,它们将被存储到一个对象列表中,然后可以与控件一起使用(例如组合框的数据源)。此外,我希望能够将用户输入加载到将输出到数据库中的表的类中。 – jediderek

+0

另外是的,我知道我将有一个该类的对象列表中的每一行 – jediderek

+0

好吧,如果你使用精巧为什么不使用这个好?我认为如果你做你认为最好的事情,然后在Code Review上发布相同的问题,你会得到更多的里程。如果没有完整的图片,就很难给出这样的问题的建议。 –

1

它看起来像你需要像实体框架的ORM。

+0

我正在使用Dapper作为我的ORM,但是这仅用于将表存储到类中,并将表类存储到我认为的表中。 – jediderek

+0

我并不熟悉dapper,但我认为它可以做得和其他ORM差不多。我认为你不需要“功能”和“DBFeatures”类。你只需要一个。 – Valerii