第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

.ToList()、.AsEnumerable()、AsQueryable()之間有什么區(qū)別?

.ToList()、.AsEnumerable()、AsQueryable()之間有什么區(qū)別?

眼眸繁星 2019-07-27 17:12:36
.ToList()、.AsEnumerable()、AsQueryable()之間有什么區(qū)別?我知道LINQ到實體和LINQto對象的一些不同之處,這是第一個實現(xiàn)的。IQueryable和第二個工具IEnumerable我的問題范圍在EF 5之內(nèi)。我的問題是,這三種方法的技術(shù)區(qū)別是什么?我看到,在許多情況下,所有這些都有效。我還看到使用它們的組合,如.ToList().AsQueryable().這些方法到底意味著什么?是否有任何性能問題或什么東西會導(dǎo)致使用一個而另一個呢?為什么一種用途,例如,.ToList().AsQueryable()而不是.AsQueryable()?
查看完整描述

3 回答

?
寶慕林4294392

TA貢獻(xiàn)2021條經(jīng)驗 獲得超8個贊

托利斯特()

  • 立即執(zhí)行查詢

AsEnDigable()

  • 延遲(稍后執(zhí)行查詢)
  • 參數(shù):

    Func<TSource, bool>

  • 負(fù)載

    每一,每個

    記錄到應(yīng)用程序內(nèi)存,然后處理/過濾它們。(例如,WHERE/Take/Skip,它將從表1中選擇*,進(jìn)入內(nèi)存,然后選擇第一個X元素)(在本例中,它所做的事情:Linqto-SQL+Linqto-Object)

AsQueryable()

  • 延遲(稍后執(zhí)行查詢)
  • 參數(shù):

    Expression<Func<TSource, bool>>

  • 將表達(dá)式轉(zhuǎn)換為T-SQL(與特定提供程序一起),遠(yuǎn)程查詢并將結(jié)果加載到應(yīng)用程序內(nèi)存中。
  • 這就是為什么DbSet(在實體框架中)也繼承了IQueryable來獲得高效的查詢。
  • 不要加載每條記錄,例如,如果采用(5),它將在后臺生成SELECT 5*SQL。這意味著這種類型對SQL數(shù)據(jù)庫更友好,這也是為什么這種類型通常具有更高的性能,并且在處理數(shù)據(jù)庫時建議這樣做。
  • 所以

    AsQueryable()

    通常比

    AsEnumerable()

    因為它首先生成T-SQL,其中包括Linq中的所有WHERE條件。



查看完整回答
反對 回復(fù) 2019-07-27
  • 3 回答
  • 0 關(guān)注
  • 398 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號