Sql server 如何处理可更新语言及其单词

Sql server 如何处理可更新语言及其单词,sql-server,asp.net-mvc-3,Sql Server,Asp.net Mvc 3,我的项目中有两个多语言数据库表: Word -ID- -En- -Ge- 1 Hello Hallo 2 Yes Ja Lang -ID- -Name- -FlagFileName- 1 English flag-en.jpg 2 Deutsch flag-ge.jpg 但是,我需要能够在系统中添加新的语言。我可以在La

我的项目中有两个多语言数据库表:

Word -ID-      -En-          -Ge-
       1       Hello         Hallo
       2       Yes            Ja

Lang -ID-   -Name-  -FlagFileName- 
       1   English    flag-en.jpg
       2   Deutsch    flag-ge.jpg
但是,我需要能够在系统中添加新的语言。我可以在Lang表中添加新行,在Word表中添加新列,但无法在ASP.NET MVC3项目中更新DBContext对象。我的模型中的数据库对象

public class Word
{
    public int ID { get; set; }
    public string English { get; set; }
    public string Deutsch { get; set; }
}
public class Language
{
    public int ID { get; set; }
    public string Name { get; set; }
    public string ImageFileName { get; set; }
}
我需要一种方法来定义这个词,因为它可以添加新的语言。如何更新Word对象?这在某种程度上是可行的吗

我在处理动态视图时也有问题:

@{
    Type objectType = Type.GetType(typeof(MyProjectNamespace.Models.Word).AssemblyQualifiedName);
    System.Reflection.PropertyInfo[] fields = objectType.GetProperties();
}

<table>
@foreach (System.Reflection.PropertyInfo f in fields)
{ 
    <th> @f.Name.ToString() </th>
}
@foreach (var item in Model) {
<tr>
    @foreach (System.Reflection.PropertyInfo f in fields)
    { 
      <td>@Html.DisplayFor(modelItem => item.English)</td>
      <td>@Html.DisplayFor(modelItem => item.Deutsch)</td>
      <td>//How can I display for a new Language here?</td>
    }
</tr>
}
</table>
我可以用下面的代码获取Word的每个属性并将它们打印为标题,但是如何打印这些动态属性中的值呢?这可行吗


我很欣赏任何想法,我甚至准备重新创建表格。

我决定简单一点。处理动态模型对象并获取其动态属性可能是可行的,但不值得。所以我决定我需要一个单词表,比如:

Lang -ID-   -Name-  -FlagFileName- 
       1   English    flag-en.jpg
       2   Deutsch    flag-ge.jpg

Word -ID-    -Text-     -LanguageID-
       1     Hallo          2
       2     Hello          1
       3      Yes           1
       4      Ja            2
因为随着新语言的加入,这些单词不会出现在数学索引中,例如:

  --indexed--                    --index broken--
 1-English Word                 1-English Word
 2-German Word                  2-German Word
 3-English Word                 3-Spanish Word
 4-German Word                  4-Dutch Word
由于计算机无法以100%的可靠性理解一个单词的含义,我决定建立一个只包含英语单词的意义表:

Meaning -ID-   -Text-
          1    Hello
          2    Yes
并将含义与实际单词绑定:

Word -ID-    -Text-     -LanguageID-  -MeaningID-
       1     Hallo          2              1
       2     Hello          1              1
       3      Yes           1              2
       4      Ja            2              2
我将WordID分配给新的动态元素,比如一个新类型,它将用于填充某个下拉框。现在我将它绑定到一个有意义的ID

我想,这个解决方案是清晰、易懂且易于实施的。我一周内不会接受我自己的答案,以防一些明确的解决方案可能会出现在我目前的表格中