c# - SQL View 的 LINQ 版本?

标签 c# linq sql-view

好吧,这是一个愚蠢的问题。

据我了解,SQL View 是基于 SQL 查询结果集的虚拟表。

根据我对 SQL View 的有限了解,我假设从 LINQ 语句获得的结果集与 SQL View 相同。

我错了吗?

我问的原因是我有一个程序使用 foreach 循环逐行读取 LINQ 查询的结果集。一位同事说我应该使用预构建的 SQL View 来加速程序。由于不熟悉 SQL View ,我不确定它对我有何帮助,基于我有限的知识。

最佳答案

您可能会将 SQL View 视为一个结果集,它可以组合多个表的值(通过连接、使用子选择等)。如果您查询 SQL View ,您将获得更好的性能。

Linq 2 SQL 返回您的数据集并映射到一个对象,因此您得到 IList。

Linq 使用所谓的 IQueryable 接口(interface)。好处是当您在 IQueryable 表达式上点击 iq.List()、iq.Array() 方法时,会执行 IQueryable。

我实际上以一种特殊的方式在我的一个项目中使用它: - 创建了所需的 IQueryable 查询 - 然后根据用例,我在其上执行了 iq.Count() 或 iq.List() 。因为我可以避免 calint iq.List() (而且因为我主要只需要知道计数)我得到了 perf。增加 - 而且我不必大幅修改现有代码。

关于c# - SQL View 的 LINQ 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28329016/

相关文章:

mysql - 如何在 MYSQL 中更新/使 View 可更新

MySQL 基于 IF 条件从两个表之一进行 JOIN

c# - CodeFirst EF4.1 MVC Against legacy database - 多重性冲突

c# - 服务器和客户端之间以两种方式进行进程间通信的最佳方式

c# - 伪造键盘或鼠标事件

linq - 两个Datacontext之间的关系

c# - 在我检查谷歌浏览器中的元素之前,一些文本不会出现

c# - 如何按照我提供的 ID 的顺序从 Linq 查询中获取结果?

c# - 林克 : Use variable in a GroupBy

t-sql - 这是 SQL Server Management Studio 错误吗?