我正在使用SQL Server精簡版4.0作爲我的數據庫和使用實體框架。我有一個DataGrid做一些計算(使用8列x 10行的測試數據,calcs每行執行一次,所以只有10次)。簡單的實體查詢使用SQL Server CE 4.0慢
如果我使用任何實體查詢,calc方法明顯變慢。當我刪除它們時,結果是即時的(無法辨別時間延遲)。
考慮的這一行代碼:
Account a = (from accounts in context.Account select accounts).FirstOrDefault();
而是這樣做的,我是從context.Account
抓起數據,並把它變成一個列表之前擊中,做Calcs(計算)方法:
List<Account> accountsTable = context.Account.ToList();
然後用這個代替上面的代碼行,除了它查詢列表而不是實體外,代替上面的代碼行:
Account a = (from accounts in accountsTable select accounts).FirstOrDefault();
使用List<Account>
方法沒有性能下降。
我知道使用該實體將查詢數據庫並創建一些開銷 - 但使用本地數據庫(即沒有網絡問題等)和10行數據,我會認爲這是可以忽略的。
我看到這個帖子:SQL Server CE 4.0 Entity Framework, query runs realy slow (compared with SQL Server CE 3.5)但這不是問題在這裏。
我必須錯過簡單的東西 - 如果任何人都可以啓發我,我會非常感激。