我正在从 XML 文件中导入大量“链接”记录,并且我想使用实体框架将它们插入到我的 SQL 链接表中。我的链接表实际上只有 2 列,它们都是 FK 并构成 PK:
[UserAssessmentId] [int] NOT NULL
[AnswerId] [int] NOT NULL
我习惯于插入的方式涉及以下内容:
- 从数据库中获取
UserAssessment
实体userAssessmentId
。 - 从数据库中获取
Answer
实体answerId
。 - 将实体添加
Answer
到UserAssessment
实体的Answers
集合中。 - 重复 2 和 3 为每个
answerId
添加。 - 打电话
context.SaveChanges()
。
问题在于,在添加数百个答案时,这非常耗费数据库;EF 必须获取它添加到链接表的每个答案的记录!我只想插入一条带有 givenuserAssessmentId
和 a given的记录answerId
,而不是先遇到获取实体的麻烦。EF 不必担心我插入的 ID 是否有效;只是假设他们是。有没有办法让 EF 做到这一点,还是我只需要使用普通 SQL?