Откуда SQL знает, что такое @p# в запросах LINQtoSQL?

Я хочу знать, как 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, так как же он узнает, что это за значение?


person dswatik    schedule 29.10.2008    source источник


Ответы (1)


Это параметризованный запрос, созданный LINQ to SQL, чтобы план запроса мог кэшироваться SQL Server для последующего повторного использования. Значение параметра было отправлено на SQL Server при выполнении, просто событие RPC:Completed его не показывает, если я правильно помню.

person Maxam    schedule 29.10.2008