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