LINQ上的示例给出了这个
var query = context.Contacts
.Where(q => q.FirstName == "Tom");
我想知道"查询"是什么对象?还有可能(建议)将其传递给方法(在同一类中)吗?
query
对象很可能是 IQueryable<Contact>
类型。当然,您可以将其传递给方法,无论该方法是在同一类中还是在另一个类中都无关紧要。
但请记住,LINQ 确实使用名为"延迟执行"的机制。这意味着查询不会立即枚举,而是在需要时枚举。然后,您在查询中放入的所有内容(例如Where
-子句)都会被执行。有关延迟执行的详细信息,请参阅 MSDN:查询执行。
注意:如果将鼠标悬停在 query
变量或 Visual Studio 中的 var
关键字上,则可以找到该变量的确切类型。