XML ファイルから多数の「リンク」レコードをインポートしている状況にあり、それらを Entity Framework を使用して SQL リンク テーブルに挿入したいと考えています。私のリンク テーブルは文字通り 2 つの列だけで、どちらも FK であり、PK を構成します。
[UserAssessmentId] [int] NOT NULL
[AnswerId] [int] NOT NULL
私が挿入に慣れている方法には、次のものが含まれます。
UserAssessmentの DB からエンティティを取得しuserAssessmentIdます。Answerの DB からエンティティを取得しanswerIdます。- エンティティのコレクション
Answerにエンティティを追加します。UserAssessmentAnswers answerId追加するそれぞれについて 2 と 3 を繰り返します。- コールし
context.SaveChanges()ます。
問題は、何百もの回答を追加するときにこれが非常に DB 集約的であることです。EF は、リンク テーブルに追加する各回答のレコードを取得する必要があります。userAssessmentId指定された、および指定された を含むレコードを挿入したいだけで、answerId最初にエンティティを取得する手間をかけたくありません。挿入する ID が有効かどうかを EF が気にする必要はありません。そうだと仮定してください。EFにこれをさせる方法はありますか、それとも単純なSQLを使用する必要がありますか?