Hug*_*are 4 c# linq records linq-to-sql
我注意到某些命令导致LINQtoSQL连接到数据库并下载作为查询一部分的记录,例如.ToArray().
命令.Cast()是否会导致查询执行(以后如何判断这些事情?).例如...
IRevision<T> current = context.GetTable(typeof(T))
.Cast<IRevision<T>>()
.SingleOrDefault(o => o.ID == recordId);
Run Code Online (Sandbox Code Playgroud)
我知道.GetTable有一个命令允许你指定泛型类型,但由于奇怪和无法解释的原因,它不能在这种情况下使用.
来自Enumerable.Cast()的评论:
此方法通过使用延迟执行来实现.立即返回值是一个对象,它存储执行操作所需的所有信息.在通过直接调用其GetEnumerator方法或在Visual C#中使用foreach或在Visual Basic中使用For Each来枚举对象之前,不会执行此方法表示的查询.
所有LINQ运算符都会告诉您它们是延迟执行还是立即执行查询.另外,以下是不推迟的标准LINQ运算符:
| 归档时间: |
|
| 查看次数: |
1291 次 |
| 最近记录: |