2008-10-29 76 views
1

好還是用我的Asp.net MVC應用程序如何處理@p LINQtoSQL參數?無論如何,@p是什麼?

做一些SqlCacheDependecy戰鬥我得到了這一塊的從微軟的源代碼緩存LINQtoSQL,基本上它是它從LINQ查詢的文本的SqlCommand並執行通過這SqlDependecy需要System.Data.SqlClient.SqlCommand ...

然而,有一個小問題與此,那就是當你做其中LINQ子句SQL生成的是,像這樣

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 

注意where [t1]。[TotalDeterminations]> @ p0,SqlCom mand對我大吼,因爲它要我聲明@ p0的標量變量......顯然我不能

那麼,如何讓微軟提供這段代碼來緩存Linq查詢,希望人們使用where子句?任何人有任何想法呢?

編輯加上如何赫克不知道SQL是@p無論如何什麼只是執行像正常以上查詢是不管什麼獲取傳遞什麼到數據庫的LINQ是什麼時候?

回答

1

@something是一個SQL參數,它通過向SqlCommand對象的SqlParameter集合添加來處理。

您可以創建任何名稱參數,LINQ到SQL只產生他們的名字命名p#,其中#代表了其對收集位置。

0

爲什麼在將它們添加到SqlDependecy之前,您只需將SqlParameter對象添加到SqlCommand對象的Parameters集合中?

相關問題