我有一个每隔几秒就会调用一次的Web服务,这会做很多事情,然后执行批量插入,目前平均需要半秒才能调用SaveChanges()。我想异步保存所有更改,因为那时我可以每秒多次调用我的Web服务,只缓冲石英计时器保存的任何数据库更改,这应该会带来更好的性能。
我观察到,在执行Web服务功能后,如果未在实体数据库模型对象上调用“SaveChanges”,则将回滚任何挂起的数据库更改。
我是否可以异步保存对数据库的更改以及如何进行此操作?
答案 0 :(得分:0)
原则上,您可以使用.NET中提供的任何异步方法来实现此目的。如果您可以使用.NET 4.5,那么我建议您查看async / await方法,因为它们非常易于使用。实体框架不支持框中的async / await,但您可以使用TaskCompletionSource类添加简单的包装器。