如何避免这种类型的代码,或者它在Winforms中常见吗?

本文关键字:Winforms 常见吗 或者 何避免 种类 类型 代码 | 更新日期: 2023-09-27 17:49:02

在使用。net 4创建Winforms应用程序时,我经常发现自己编写这样的代码:

public partial class StudentListerForm : UserControl
{
    public StudentListerForm()
    {
        InitializeComponent();
        LoadBranding();
    }
    private void StudentListerForm_Load(object sender, EventArgs e)
    {
        cmbGrade.DisplayMember = "Name";
        cmbGrade.ValueMember = "GradeId";
        cmbGradeInstance.DisplayMember = "Name";
        cmbGradeInstance.ValueMember = "GradeParaleloId";
        LoadExistingGrades();
    }
    private void LoadExistingGrades()
    {
        GradeRepository repo = new GradeRepository();
        cmbGrade.DataSource = repo.FindAllGrades();
    }

这只是一个节选。问题是,如何才能更清晰地显示从数据库中检索到的数据?我发现自己在模式中更改了一些东西,并且不得不逐个列检查名称是否正确。

还是我太多疑了

如何避免这种类型的代码,或者它在Winforms中常见吗?

这是一个映射的问题。如果您将数据库列名映射到每个控件,那么是的,如果您更改该列名,则需要更新代码以反映该更改。这不是最好的方法,因为它意味着你的前端代码直接映射到你的数据库,除非你使用MVC。我建议你看两件事。

首先,为什么要更改数据库列的名称?这个栏目有改变用途吗?它应该是一个全新的专栏吗?

其次,你可以在数据库和前端之间使用存储过程、视图或某种类型的数据集映射吗?这样,如果数据库列更改了名称,您只需要在存储过程/视图/数据集中更改它,并且您的前端不会耦合到旧名称。