質問: 私はこの質問に対する正確な答えを見つけるのに苦労しているので、これが冗長であれば謝罪します。 だから私はそのように定義された3つのテーブルがあります: Person:PersonId、FirstName、LastName 会社名:CompanyId、CompanyName 注文:OrderId、PersonId、CompanyId Orderテーブルには、PersonId列とCompanyId列に定義された外部キーがあります。したがって、EFによって生成されたOrderエンティティクラスには、Person(PersonIdではない)およびCompanyのナビゲーションプロパティがあります。 したがって、Orderテーブルに挿入するには、最初に人と会社のテーブルを照会して、人と会社のエンティティを取得する必要があります。 PersonオブジェクトとCompanyエンティティを使用してOrderオブジェクトを作成し、dbに保存することができます。 私のシナリオでは、私はPersonIdとCompanyIdを渡されています。 古典的なSQLでは、単にINSERT INTO Order Set(CompanyId、PersonId) - 1データベース呼び出しを行います。しかし、EFでは3 dbコールをしなければなりません。これは過労のようです。 これを回避する方法はありますか? PS - 私はEF 6を使用しています。私は式を生成して単一呼び出しを行うことができますが、それでも2つの副選択が得られます。
回答: ナビゲーションプロパティに加えて、外部キーのプロパティを含めることができますし、あなたは持っているIDを使用してそれらを設定することができます。これを行うと、関係を設定するだけで関連エンティティを取得するためにデータベースに行く必要はありません。