ToB企服应用市场:ToB评测及商务社交产业平台

标题: Linq中.AsEnumerable(), AsQueryable() ,.ToList(),的区别和用法 [打印本页]

作者: 飞不高    时间: 2023-9-20 21:36
标题: Linq中.AsEnumerable(), AsQueryable() ,.ToList(),的区别和用法
当使用LINQ查询数据时,我们常常会面临选择使用.AsEnumerable(), .AsQueryable(), 和 .ToList()方法的情况。这些方法在使用时有不同的效果和影响,需要根据具体场景来选择合适的方法
.AsEnumerable()方法:
  1.     var electronicProducts = dbContext.Products
  2.         .Where(p => p.Category == "Electronics")
  3.         .AsEnumerable()
  4.         .Select(p => new { p.Id, p.Name });
  5.     foreach (var product in electronicProducts)
  6.     {
  7.         Console.WriteLine($"{product.Id} - {product.Name}");
  8.     }
复制代码
.AsQueryable()方法:
  1. var cheapProducts = dbContext.Products
  2.     .Where(p => p.Price < 100)
  3.     .AsQueryable()
  4.     .OrderBy(p => p.Price);
  5. foreach (var product in cheapProducts)
  6. {
  7.     Console.WriteLine($"{product.Id} - {product.Name} - {product.Price}");
  8. }
复制代码
.ToList()方法:
  1. var allProducts = dbContext.Products.ToList();
  2. foreach (var product in allProducts)
  3. {
  4.     Console.WriteLine($"{product.Id} - {product.Name} - {product.Price}");
  5. }
复制代码
总结:
根据具体的业务场景和性能需求,选择合适的方法能够提高程序性能并有效地处理数据。
出处:https://www.cnblogs.com/codedisco本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4