c# - 对于 EF linq 查询,First(c=>cond) 是否等同于 Where(c=>cond).First()?

标签 c# entity-framework-4 linq-to-entities

是否有任何隐藏的微妙之处,一个是首选,还是一个只是编写另一个的更短方式?

Client = db.Clients.First(c=>c.Name == "Client 1")

Client = db.Clients.Where(c=>c.Name == "Client 1").First()

最佳答案

是的,它们是等价的。

对其进行简单测试,将它们添加到 LINQPad 并查看生成的 Sql 语句,在我的数据库中,我生成了完全相同的查询。

更新:

下面是我对我的数据库的查询示例。

-- Region Parameters
DECLARE @p0 VarChar(1000) = 'SKY02'
-- EndRegion
SELECT TOP (1) [t0].[MST_SQ], [t0].[EMP_EMPNO]
FROM [EMPLOYEE] AS [t0]
WHERE [t0].[EMP_EMPNO] = @p0
GO

-- Region Parameters
DECLARE @p0 VarChar(1000) = 'SKY02'
-- EndRegion
SELECT TOP (1) [t0].[MST_SQ], [t0].[EMP_EMPNO]
FROM [EMPLOYEE] AS [t0]
WHERE [t0].[EMP_EMPNO] = @p0

关于c# - 对于 EF linq 查询,First(c=>cond) 是否等同于 Where(c=>cond).First()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7126722/

相关文章:

c# - 带有 LinqToSQL 的 MVVM

C# 从元数据中获取视频文件持续时间

c# - 从大型 XML 文件中删除节点

c# - Entity Framework /Linq 表达式从字符串转换为 int

c# - 如果您创建一个 DomainService,公开一个实体,您可以访问聚合实体吗?

c# - LINQ to SQL 或 Entities,在这一点上?

c# - File.Exists 在 UnitTest 上下文中返回 false

asp.net - Visual Studio或插件中是否有工具可以自动创建伙伴类验证?

c# - SQL 到 LINQ 转换器

c# - 在 Where 子句中使用数组元素的 LINQ 查询