SQL如何知道LINQtoSQL查询中的@ p#是什么?

时间:2008-10-29 07:13:49

标签: asp.net sql-server linq-to-sql

我想知道SQL Server如何知道@ p#在这个LINQtoSQL查询中的含义

SELECT 
    [t0].[MemberID], [t0].[Aspnetusername], [t0].[Aspnetpassword], 
    [t0].[EmailAddr], [t0].[DateCreated], [t0].[Location], 
    [t0].[DaimokuGoal], [t0].[PreviewImageID], 
    [t0].[LastDaimoku] AS [LastDaimoku], [t0].[LastNotefied] AS [LastNotefied], 
    [t0].[LastActivityDate] AS [LastActivityDate], [t0].[IsActivated]
FROM 
    [dbo].[Members] AS [t0]
INNER JOIN 
    [dbo].[MemberStats] AS [t1] ON [t0].[MemberID] = [t1].[MemberID]
WHERE 
    [t1].[TotalDeterminations] > @p0

查看SQL Server Profiler时,这是针对数据库执行的操作...但是没有任何信息告诉SQL Server @p0的值,那么它如何知道该值是什么?

1 个答案:

答案 0 :(得分:2)

这是由LINQ to SQL生成的参数化查询,以便SQL Server可以缓存查询计划以供以后重用。参数值在执行时发送到SQL Server,如果我没记错的话,只是RPC:Completed事件没有显示它。