2017-08-24 48 views
0

我需要使用實體框架確定Oracle數據庫中是否存在密鑰。我的前端使用這個電話很多,我想知道哪種方法最快?我應該得到第一個匹配的記錄並檢查是否爲空,檢查密鑰的計數並查看它是否大於1,或使用Any?或者有沒有我沒有想到的解決方案比這更快?用實體框架檢查Oracle數據庫中是否存在記錄的最快方法6

+0

如果它是一個關鍵,爲什麼不使用'context.Entity.Find(keyValue)'?如果記錄在上下文中,它也不會調用數據庫。 –

回答

1

我推薦Any,因爲你不需要數數。它應該被轉換成EXISTS語句,這比COUNT(*)更快。

也許是這樣的:

var exists = ctx.MyEntities.Where(x => x.Id == ...).Any(); 

不要實例化你的實體(例如,使用Find),因爲這會損害性能,因爲你只需要檢查一個記錄存在。

相關問題