主目的を定義することで Entity Framework の 1:1 関係のあいまいさを解決するにはどうすればよいですか?
Jan 21, 2025 pm 10:52 PMEntity Framework 1:1 関係におけるマスターの重要性
Entity Framework では、1 対 1 の関係は 2 つのクラスとそれらの相互排他的なナビゲーション プロパティによって表されます。曖昧さを排除するには、「マスター」を指定する必要があります。プライマリ側とは、最初にレコードを挿入し、関係を維持する関連付け内の側を指します。
この例で発生したエラーは、マスターが指定されていないことが原因です。このコードは、Foo と Boo という 2 つのクラスを定義しており、それぞれに他のクラスを指すナビゲーション プロパティが含まれていますが、どちらの端が優先されるかは指定されていません。
メイン端末の定義
1 対 1 の関係では、マスターが関係を所有し、外部キー制約を管理します。通常、これは関連付けのより安定した長期的な終端となります。データベース設計では、通常、主側は主キーによって識別されます。
例と解決策
指定された例では、Boo インスタンスの存在に依存しないため、Foo クラスが論理マスターです。対照的に、クラス Boo は、関連付けられた Foo なしでは存在できません。
Entity Framework のエラーを解決するには、マスターを明示的に指定する必要があります。これは、データ アノテーションまたは流暢なマッピングを通じて実現できます。データ アノテーションを使用して、Boo クラスを次のように変更します:
<code>public class Boo { [Key, ForeignKey("Foo")] public string BooId{get;set;} public Foo Foo{get;set;} }</code>
代わりに、Fluent マッピングを使用します:
<code>modelBuilder.Entity<Foo>() .HasOptional(f => f.Boo) .WithRequired(s => s.Foo);</code>
マスターを指定することで、エラーを効率的に解決して、Entity Framework で 1 対 1 の関係を定義および管理できます。
以上が主目的を定義することで Entity Framework の 1:1 関係のあいまいさを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











C言語関数によって返される値の種類は何ですか?返品値を決定するものは何ですか?

STL(ソート、検索、変換など)のアルゴリズムを効率的に使用するにはどうすればよいですか?
