30
我使用dapper从IE数据库返回对象为IEnumerable。 由于默认的精灵将缓冲区设置设置为true。短小精悍缓冲区/高速缓存的说明
这是如何工作的?
如果dapper缓存第一个查询,然后从内存中获取对象。
如果某人在表格中编辑/删除/添加行,会发生什么情况。必须精简重新缓存此查询的所有数据?
我使用dapper从IE数据库返回对象为IEnumerable。 由于默认的精灵将缓冲区设置设置为true。短小精悍缓冲区/高速缓存的说明
这是如何工作的?
如果dapper缓存第一个查询,然后从内存中获取对象。
如果某人在表格中编辑/删除/添加行,会发生什么情况。必须精简重新缓存此查询的所有数据?
缓冲区与缓存无关。 Dapper不包含任何类型的数据缓存(尽管它确实有一个与它如何处理命令有关的缓存,例如“这个命令字符串,这种类型的参数和这种类型的实体 - 具有这些关联的动态生成的方法来配置命令并填充对象“)。
什么这个开关的真正含义是:
false
:将迭代的项目,因为他们收到/消耗 - 基本上,围绕IDataReader
true
(默认):数据被完全消耗为List<T>
它交给它之前还给你
大多数查询只返回数据适量的(比如,小于100条记录),因此我们很高兴默认(true
)为大多数场景提供了最合适的行为。但是我们可以为您提供选项,以满足不同的使用场景。