私はEntityFramework4.1データベースの最初のアプローチを使用しています。レガシーデータベースを使用しました。レガシーデータベースのテーブルに基づいてエンティティクラスを作成した私のedmxファイルには、いくつかのエンティティ間に1対0または1の関連付けがあります。
データベースのテーブルとそれらの間の関係を調べましたが、1対0または1関係がデータベースにどのように実装されているのかわかりませんでした。
詳細については、データベース図のスクリーンショットと、その関係および対応するエンティティのプロパティをedmxファイルに配置します。
データベース内の1-0..1関係は直接表示されます。これは、CourseテーブルとOnlineCourseテーブルの間に構築され、Courseはリレーション(1)のプリンシパルであり、OnlineCourseはCourseIDで構成されたFKに依存します。 FKはOnlineCourseのPKでもあります=一意である必要があるため、0..1です。
実際の1-1はデータ挿入に効果的に使用できないため、データベースは「常に」1-0..1を使用します。 1-1は、左を右の後に挿入する必要があるが、右を左の後に挿入する必要があることを意味します=不可能。そのため、1-0..1が使用されます。ここで、左が主であり、右と右が依存する前に挿入する必要があり、左の後に挿入する必要があります。
データベーステーブルがすでに1:1の関係(または1:0-1)で設計されている場合、EFは子テーブルの名前を複数形にしますが(複数形にする場合)、それで問題なく機能します。
基本的なアプローチは、外部キーを作成し(1:manyの関係を作成しているかのように)、外部キーフィールドに一意のインデックスを配置することです。それはあなたが達成しようとしていることですか?
これも役立つ可能性があります: SQL Serverで1:1および1:mの関係を設計する 。
ちなみに、1-1の関係は必要ない場合や、データベース設計の症状を再考する必要がある場合がよくあります。でも、デザインを受け継いだようですね…それは全部知ってるよ!