【问题标题】:Which data structure to store tables and field names?存储表和字段名的数据结构是什么?
【发布时间】:2012-09-02 01:00:53
【问题描述】:

我正在从数据库中检索表及其各自的字段,并希望将它们存储在我的 C# 应用程序中。

我能想到的两个存储选项是:

  1. Dictionary 使用表名作为键,List<string> 用于存储字段。因此,像这样:Dictionary<string, List<string>>

  2. 列表中的列表:List<List<string>>

就性能和最佳实践而言,更好的方法是什么?有更好的选择吗?

谢谢

【问题讨论】:

  • 数据结构不仅取决于数据的存储形式因素,最重要的是取决于您希望满足数据的要求。你打算用这些桌子做什么?搜索、更改、导出...这将提供必要的信息来分析哪种方法更好。
  • 你只需要表名和列名吗?还是数据类型?主键和外键呢?指数,其他约束?只有表格或视图?我认为你应该看看Information_Schema 意见。您只需要其中的一部分,但这是一个很好的起点。

标签: c# .net sql-server data-structures dictionary


【解决方案1】:

我会查看 System.Data 命名空间中的现有类,看看它们是否符合您的要求 - 即:DataColumnDataTable 等。

【讨论】:

    【解决方案2】:

    我更喜欢 (1),不过可能会让事情更加面向对象:

    public class DatabaseTable : List<string>
    {
    
    }
    
    public class DatabaseTableRegistry : Dictionary<string, DatabaseTable>
    {
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-09
      • 2011-06-15
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多