我正在围绕斯坦福的Folding@Home项目编写一个相当大的服务。该项目的这一部分是托管在Windows服务中的WCF服务。使用适当的数据库索引和双核Core2Duo/7200rpm磁盘,我每秒可以运行大约1500行(SQL 2012 Datacenter实例)。
查看SQL Server Management Studio 2012中的性能分析器,我发现每个用户都是通过单个查询加载的。EF有没有一种方法可以急切地加载一组给定大小的用户,在内存中更新它们,然后保存更新的用户-使用比单选、单次更新更优雅的查询?我目前使用的是EF5,但是如果我需要升级到6来提高性能,我会的。此进程延迟的主要原因