繁体   English   中英

实体框架-将结果异步保存到数据库

[英]Entity Framework - Saving results to the database asyncronously

我有一个每隔几秒钟被调用一次的Web服务,该服务执行许多操作,然后执行大容量插入,当前平均需要半秒钟才能调用SaveChanges()。 我想异步保存所有更改,因为这样我可以每秒多次调用Web服务,并仅缓冲石英计时器要保存的任何数据库更改,这将带来更好的性能。

我观察到,在执行Web服务功能之后,如果未在实体数据库模型对象上调用“ SaveChanges”,则所有待处理的数据库更改都将回滚。

我是否可以将更改异步保存到数据库中,我将如何进行?

原则上,您可以为此目的使用.NET中可用的任何异步方法。 如果您可以使用.NET 4.5,那么我建议您看一下async / await方法,因为它们非常易于使用。 实体框架不支持从盒子开始异步/等待,但是您可以使用TaskCompletionSource类添加简单的包装器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM