linq to sql - является Entity.Where (). Single () лучше, чем Entity.Single () - PullRequest
0 голосов
/ 14 июля 2011

Я использую Linq to Sql. У меня есть таблица имен клиентов, и я хочу получить одну запись. У меня есть следующие два варианта:

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

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

какой вариант лучше с точки зрения производительности и почему?

Сообщите внутренним работникам обоих этих вариантов.

1 Ответ

1 голос
/ 14 июля 2011

С точки зрения 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 лучше, потому что это просто спасает вас от вызова метода и соответствующие записи в объекте запроса).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...