为什么LINQ发送sp_executesql而不是直接执行SQL?

前端之家收集整理的这篇文章主要介绍了为什么LINQ发送sp_executesql而不是直接执行SQL?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于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语句重用不同的参数;即该语句仅编译一次,从而提高效率.

猜你在找的MsSQL相关文章