繁体   English   中英

C# ToList 里面 LINQ

[英]C# ToList inside LINQ

我正在使用 LINQ,我想知道下面两个代码之间有什么区别。 结果看起来是一样的,但是像student1这样在查询中使用ToList()会增加对数据库的访问权限吗?

var students1 = (from stud in dbContext.Students.Where(s => s.LastName == "Doe").ToList()
               join class in dbContext.Classes
               on ...).ToList();

var students2 = (from stud in dbContext.Students.Where(s => s.LastName == "Doe")
               join class in dbContext.Classes
               on ...).ToList();

ToList 实现查询。 请注意,当您访问数据库时,您正在使用 IQueryable 并且您的连接和位置子句被传递到数据库。 如果您通过调用 ToList 实现可查询,则数据库不会处理连接,但您使用 LinqToObjects 而不是 LinqToSql 连接内存中的数据。

LINQ 到 SQL 是一种将关系数据作为对象进行管理和访问的工具。

  1. 它连接到数据库,将 LINQ 结构转换为 SQL
  2. 提交 SQL
  3. 将结果转化为对象
  4. 甚至跟踪更改并自动请求数据库更新

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM