从SQL表构建C#dll

sob*_*rga 1 c# sql dll sql-server-2008 c#-4.0

我有一个包含三列的SQL表:Id,English和Norwegian.Id是主键.在我的应用程序中,我有一个标志(EN/NO)来决定用于标签的哪种语言,GUI中的按钮++.应用程序每次加载时都会执行select*,应用程序在运行时查找所有必需的值.但是我没有为每个实例加载整个数据集,而是想导出这些值并创建一个dll,这样我就可以在本地存储这些值.

是否有可能创建这个in-code,因此dll会在每次构建时自行更新?或者我必须运行一些外部程序来动态创建ex.一个.cs代码复制/粘贴到我的班级?(我需要能够重新运行该过程,因为每次需要新标签/文本时都会添加行)

到目前为止,我已经考虑过如何构建导出的三个解决方案,但是没有关于如何导出数据的线索:

  1. 在静态上下文中保留DataTable的状态,并提供帮助方法来标准化获取值的方式.

  2. 创建一个包含每个唯一ID作为method-name的类,以及一个用于决定返回哪个值的参数:

    public static class Names
    {
      public static string 12345(string language)
      {
        switch (language)
        {
            case "EN":
                return "Hello";
            case "NO":
                return "Hei";
            default:
                return "Hello";
        }
      }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 为ID为键的每种语言创建一个包含可搜索列表的类,并将值(作为值)

ABH*_*ABH 10

为什么不为不同的语言创建不同的资源文件,并根据设置加载适当的文件.你可以通过使用来做到这一点System.Resources.ResourceManager.这篇文章在这里详细解释了这一点.

编辑:以下SO帖子也详细讨论了这个在C#/ WinForms中制作多语言应用程序的最佳实践?