現在、EF Code First MVC プロジェクト (簡潔にするために編集) に次のモデルがあります。
public class Car
{
public int Id { get; set; }
public string Descrip { get; set; }
// Navigation Property.
public virtual CarColour CarColour { get; set; }
... + numerous other navigation properties.
}
public class CarColour
{
public int Id { get; set; }
public string ColourName { get; set; }
}
DB の CarColour テーブルには多くの行が含まれています。
私のプロジェクトでは、これらの種類のテーブルが約 10 個ありますが、これらは基本的にルックアップ テーブルです。
10 個のルックアップ テーブル (およびコード内の 10 個の対応する「ハード」型) を用意するのではなく、(この例では) Car に固有のルックアップ テーブルをラインに沿って大量に用意する代わりに、より再利用可能なアプローチを実装することを任されました。いくつかのテーブルがあり、そのうちの 1 つはアイテムの種類 (色、燃料の種類など) を保持し、もう 1 つは各種類のさまざまな値を含みます。私たちのモデルは、他の多くのプロジェクトで再利用できるようになるという考えです。その中には、何百もの異なる属性を持つ可能性のあるプロジェクトもあるため、コードで新しいクラス/タイプを作成して生成する必要はありません。それぞれの新しいルックアップ テーブル。
この種のアプローチの c# 実装を理解するのが難しいので、誰かがコードでこれを実現する方法、より具体的には、上記のモデルをどのように変更する必要があるか、および追加のクラスを教えてくれることを願っています。これを達成するために必要ですか?