30
我使用dapper從IE數據庫返回對象爲IEnumerable。 由於默認的精靈將緩衝區設置設置爲true。短小精悍緩衝區/高速緩存的說明
這是如何工作的?
如果dapper緩存第一個查詢,然後從內存中獲取對象。
如果某人在表格中編輯/刪除/添加行,會發生什麼情況。必須精簡重新緩存此查詢的所有數據?
我使用dapper從IE數據庫返回對象爲IEnumerable。 由於默認的精靈將緩衝區設置設置爲true。短小精悍緩衝區/高速緩存的說明
這是如何工作的?
如果dapper緩存第一個查詢,然後從內存中獲取對象。
如果某人在表格中編輯/刪除/添加行,會發生什麼情況。必須精簡重新緩存此查詢的所有數據?
緩衝區與緩存無關。 Dapper不包含任何類型的數據緩存(儘管它確實有一個與它如何處理命令有關的緩存,例如「這個命令字符串,這種類型的參數和這種類型的實體 - 具有這些關聯的動態生成的方法來配置命令並填充對象「)。
什麼這個開關的真正含義是:
false
:將迭代的項目,因爲他們收到/消耗 - 基本上,圍繞IDataReader
true
(默認):數據被完全消耗爲List<T>
它交給它之前還給你
大多數查詢只返回數據適量的(比如,小於100條記錄),因此我們很高興默認(true
)爲大多數場景提供了最合適的行爲。但是我們可以爲您提供選項,以滿足不同的使用場景。