【发布时间】:2017-07-06 02:50:27
【问题描述】:
我的第一个项目是使用 Entity Framework 和 SQL Server Compact。
该数据库有大约 15 个表,它们都有其他表的外键。 我必须阅读数千个 XML 文件并将它们的数据导入数据库。数据库结构反映了 XML 文件结构。表层次结构最多有 5 个级别。因此,对于“顶部”表中的每条记录,我必须在基础表中插入一个或多个。
我正在使用实体框架进行插入,它工作正常,但性能非常非常差:(。 我认为主要问题是对于大多数记录,必须回读 ID 才能用于基础表中的记录。
另一件事是——如果我没记错的话——Entity Framework 使用单独的命令插入每条记录。
有没有办法显着提高性能?
谢谢
【问题讨论】:
-
如果性能是一个问题,最简单的解决方法是手动 SQL 查询。
-
这是一次性(初始化)操作吗?然后你可以禁用 sql server 中的所有约束。这将加快性能。但请确保仅插入有效数据。插入后重新启用约束。
标签: c# entity-framework insert sql-server-ce database-performance