linq to sql - 是Entity.Where()。Single()比Entity.Single()更好

时间:2011-07-14 06:09:51

标签: linq-to-sql

我正在使用Linq to Sql。我有表名客户,我想获取一条记录。 我有以下两种选择:

1. datacontext.Customer.Where( a => a.CustId == 1).Single();

2. datacontext.Customer.Single(a => a.CustId == 1)

哪个选项比性能更好?为什么?

告诉内部人员使用这两个选项。

1 个答案:

答案 0 :(得分:1)

从SQL查询的角度来看,1导致

exec sp_executesql N'SELECT [t0].[Id], [t0].[Naam] FROM [dbo].[Customers] AS [t0] WHERE [t0].[Id] = @p0',N'@p0 int',@p0=1

和2导致

exec sp_executesql N'SELECT [t0].[Id], [t0].[Naam] FROM [dbo].[Customers] AS [t0] WHERE [t0].[Id] = @p0',N'@p0 int',@p0=1

哪个完全一样。所以那里没有性能差异。我对LINQ to SQL查询构建器没有任何见解,所以从这个角度来看我不知道哪一个更快,但是我怀疑它是否有意义(我会说只有2个更好,因为它只是为你节省方法调用而且查询对象中的相应条目。)