我的项目中有两个用于多语言的数据库表:
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,因为它可以添加新的语言。如何更新 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 的每个属性并将它们打印为标题,但是如何打印这些动态属性中的值?这是可行的吗?
我很欣赏任何想法,我什至准备重新创建表格。