ASP.NET MVC を使用して小さなアプリケーションを作成していますが、1 対多の関係の特定のバリアントを設計する方法を把握するのに問題があります。私は LinqToSQL を使用しているので、C# コードよりもテーブルの設計に関するものだと思いますが、データの使用方法が設計に影響を与える可能性がある場合に備えて言及しています。
私が問題を抱えているのはこれです:
本のデータベースを作成したいとしましょう。各本に複数の名前を割り当てることができるとしましょう (たとえば、タイトルの翻訳)。タイトルの 1 つをメインにする必要があります。
私にとって明らかな解決策と思われるのは、本用のテーブルと名前用の別のテーブルを作成することです。名前は BookId 列を取得し、本は MainNameId 列を取得し、その上に外部キーが設定されているため、アプリケーションでモデルが生成されると、関係がすぐに正しく設定されます。
ただし、最初にタイトルがないと本を追加できず、最初にデータベースに関連する本がないとタイトルを追加できないため、私のロジックは失敗します。データベースに本を追加すると、最初のタイトル (およびメイン タイトル) も追加されると想定されていました。
とにかく、この問題のいくつかの回避策を考えることができますが、これを解決する適切な方法は何だろうと思っていました.