是否有任何隐藏的微妙之处,一个是首选,还是一个只是编写另一个的更短方式?
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/