对于eaxmple,LINQ to 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
为什么使用sp_executesql?
解决方法
此表示法允许运行时编译的Tsql语句重用不同的参数;即该语句仅编译一次,从而提高效率.