我有一个实体数据模型,由这些多个实体组成 - 供应商,付款,供应商联系,发票和GLAccount。我正在使用EF版本4。
在一些现有代码中,有5种方法被一个接一个地调用,这些方法是为数据库中的上述实体表保存更改。方法如下所述。
我的问题是:如果我只调用一次Vs调用SaveChanges方法五次会获得很多性能吗? 现在,Method1到Method5需要大约25秒才能完成的
所以我的建议是从所有方法中删除SaveChanges,并在Method5调用完成后调用SaveChanges。
答案 0 :(得分:1)
我认为这里最好的答案是:尝试,对你的尝试进行基准测试,然后得出结论。听起来合乎逻辑的是,提交数据库而不是5提交可能会更快,但随后您处理更多数据。它可能也因您正在测试的环境而异。我说继续尝试,然后推动结果,这样我们都可以受益:)
修改强>
找到与您的问题相关的一些基准:When should I call SaveChanges() when creating 1000's of Entity Framework objects? (like during an import)