如何使用 C# winforms 中的 MVP 模式将多个表中的数据显示到我的视图中?
假设我有以下表格:
- 水果
颜色
Table definition: +----------+ | Fruit | +----------+ | Id | | Name | | Color_Id | +----------+ |∞ | |1 +----------+ | Color | +----------+ | Id | | Name | +----------+ Table contents: Fruits +-----+--------+----------+ | Id | Name | Color_Id | +-----+--------+----------+ | 10 | Apple | 70 | | 20 | Orange | 80 | | 30 | Grapes | 90 | +-----+--------+----------+ Colors +-----+--------+ | Id | Name | +-----+--------+ | 70 | Red | | 80 | Orange | | 90 | Violet | +-----+--------+
然后在我的解决方案中,我为每个表创建了类,即 Fruit 和 Color 类,具有自己的 getter 和 setter 以及表示数据库中表的其他详细信息。
然后我还为水果和颜色创建了两个模型。
因此,如果我想创建一个显示有关颜色记录的视图,我将使用我为颜色创建的模型来检索颜色集合(例如List<Color>
)。如果我使用 DataGridView 来显示该记录,我会得到类似以下的内容:
+-----+--------+
| Id | Name |
+-----+--------+
| 70 | Red |
| 80 | Orange |
| 90 | Violet |
+-----+--------+
对于 Fruit 记录,我可以使用上面相同的方法,但我需要显示颜色名称而不是颜色 ID,如下所示:(假设我使用的是 DataGridView 或自定义控件)
+-----+--------+----------+
| Id | Name | Color |
+-----+--------+----------+
| 10 | Apple | Red |
| 20 | Orange | Orange |
| 30 | Grapes | Violet |
+-----+--------+----------+
我想我可以为它创建另一个类并将其命名为“FruitColor”,然后为其赋予与上面的 Fruit 类相同的属性,但不是具有颜色 id 属性,而是用颜色名称替换它......但我我不确定这是否是 MVP 中正确的做事方式。我想我应该向你们询问有关如何正确操作的任何提示...
我没有在我的项目中使用 ORM,因为我想了解如何手动操作......但我也将不胜感激与使用 ORM 相关的任何帮助。我也是 3 周前才开始了解 MVP,所以我真的希望能得到任何帮助。