プロジェクトに多言語対応のデータベーステーブルが2つあります。
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.NETMVC3プロジェクトのDBContextオブジェクトを更新できません。モデル内のDBオブジェクト。
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のすべての属性を取得し、以下のコードでヘッダーとして出力できますが、これらの動的属性の値を出力するにはどうすればよいですか?これは実行可能ですか?
アイデアに感謝します。テーブルを再作成する準備もできています。