Para eaxmple, LINQ a SQL está enviando el siguiente:¿Por qué LINQ envía sp_executesql en lugar de ejecutar directamente el SQL?
exec sp_executesql
N'SELECT [t0].[HomeID],
[t0].[Bedrooms],
[t0].[ImageURL],
[t0].[Price],
[t0].[Available],
[t0].[Description]
FROM
[dbo].[Homes] AS [t0]
WHERE
([t0].[Description] LIKE @p0) AND
([t0].[Available] = @p1) AND
([t0].[Price] >= @p2) AND ([t0].[Price] <= @p3)
ORDER BY
[t0].[Price] DESC',
N'@p0 nvarchar(4000),@p1 int,@p2 int,@p3 int',
@p0=N'%private%',
@p1=1,
@p2=200000,
@p3=750000
¿Por qué se utiliza sp_executesql?
OP debe aclarar un poco lo que quiere decir, supongo que está mirando a través del Analizador de SQL y ver las llamadas que fluyen. Interpreto su pregunta como "por qué L2S usa sp_executesql en lugar de enviar las declaraciones contenidas directamente". – stephbu