IQueryable,IEnumerable,List相互轉換


發個文記錄一下犯的錯誤吧!!!

如果在使用ASP.NET MVC很多的數據存取都是以IQueryable<>泛型類接收,那么在做兩個IQueryable<>集合拼接時對於新手可能會直接考慮使用Concat來鏈接兩個序列,事實使用上沒有這么簡單。

首先

IQueryable,IEnumerable都可以通過ToList()轉換為類型。

PassUser.ToList();

其次

如果需要反向轉換,有兩個很好用的方法AsQueryable(),AsEnumerable(),可以順利將List轉換為IQueryable,IEnumerable。

List<MO> ListUser = new List<MO>();
PassUser = ListUser.AsQueryable();

最后

如果你需要把兩個IQueryable和IEnumerable進行簡單拼接,並且像List.Add()那樣及其簡單的操作數據的話,就先把元數據轉換為List拼接完后使用AsQueryable(),AsEnumerable()轉換為對應類型。

據說IQueryable是一個臨時的數據存儲模式相對List更加節約資源,沒有細致研究,就說到這里吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM