C#数据表-设计模式实现

本文关键字:实现 设计模式 数据表 | 更新日期: 2023-09-27 18:01:10

问题陈述

我正在Asp.Net中开发一个web应用程序。它有多个模块,每个模块都有多个C# DataTables,这些模块是通过DataReaderDataAdapter填充的。

因此,为此,我必须初始化Datatable,为每个Datatable指定其列名和DataType。虽然在某些情况下,它们包含我的DataBase's Tables Column Name,但在遍历DataTables时,我必须指定要选择的列,并且要从所选行获取数据,我必须显式指定列名。

这非常耗时,而且我必须在每个模块中为这些操作编写大量代码。

我的要求是,我想要一个用于DataTables的设计模式(就像我们在MVC中实现Repository模式等(,它实现C#DataTables,并提供Property accessors用于初始化DataTables、每个DataTable的列数、列名以及遍历。每个数据表都应该独立于其他数据表。

可能的解决方案

我发现Adapter模式很适合它。但到目前为止,我还不知道如何在这些特定的场景中将其用于C#数据表。

任何帮助都将不胜感激。。

C#数据表-设计模式实现

尝试以下代码

static DataTable MakeTable(Dictionary<string, Type> dict)
{
    DataTable dt = new DataTable();
    foreach(KeyValuePair<string, Type> row in dict)
    {
        dt.Columns.Add(row.Key, row.Value);
    }
    return dt;
}