1
什麼是檢查linq對象是否從另一個表引用的最佳(最快)方式。通常我這樣做,但我想這可能會在更大的桌子上慢。檢查linq對象是否被引用
CurrentObject.ReferencingObjects.Count != 0
這可能會更快。
CurrentObject.ReferencingObjects.FirstOrDefault() != null
有沒有更好的方法?
什麼是檢查linq對象是否從另一個表引用的最佳(最快)方式。通常我這樣做,但我想這可能會在更大的桌子上慢。檢查linq對象是否被引用
CurrentObject.ReferencingObjects.Count != 0
這可能會更快。
CurrentObject.ReferencingObjects.FirstOrDefault() != null
有沒有更好的方法?
如果ReferencingObjects
工具ICollection<T>
(它似乎,因爲它有一個Count
財產),第一個選項可能是實際速度更快,因爲Count
(對於大多數實現)往往直接存儲,所以這實際上是隻一個直接查找字段的屬性。
但是,如果你正在使用Enumerable.Count()
(該方法,而不是一個屬性),那麼我的首選方法將改爲使用方法:
CurrentObject.ReferencingObjects.Any();
由於Any()
方法非常清楚地顯示出你的意圖,並一般來說也很快。