rob*_*t_d 0 c# entity-framework sql-server-2008
我正在使用C#,Entity Framework和SQL Server 2008 Express.
我通过互联网连接到数据库.
加快将数据保存/更新到数据库的最佳方法是什么?
将180条记录保存到数据库需要87秒.
将相同数量的记录保存到本地(在同一台计算机上)SQL Server上只需3.5秒.
对于我保存/更新的每个记录,我检查数据库中
是否存在具有此主键的记录,如果它不存在,我只需保存它,
如果它存在,我使用ObjectContext.ApplyCurrentValues(entitySetName,currentEntity)方法更新它.
有几个原因不在互联网上使用SQL.
如果可能的话,我会在SQL端设置一个WCF服务,并让我的客户端将数据发送到服务,该服务将执行对数据库的查询.与SQL相比,任何WCF协议都不那么繁琐,与您现在看到的相比,您很可能获得速度提升.
当然,在传输数据时对数据进行批处理将有助于减少提交记录所需的流量.由于延迟,您希望尽可能少地通过线路进行呼叫.