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