2008-10-29 6 views
1

좋아 아직도 내 Asp.net MVC 응용 프로그램@p LINQtoSQL 매개 변수에 대해 수행 할 작업은 무엇입니까? 어쨌든 @p는 무엇입니까?

일부 SqlCacheDependecy을하고 싸우는 내가 LINQtoSQL를 캐시 Microsoft에서이 코드 조각을 가지고 그것은 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 내가 p0의 스칼라 변수를 선언하기를 원하기 때문에 mand는 나에게 소리를 지른다. 분명히 할 수 없다.

그래서이 코드를 캐시에 제공하는 Microsoft는 사람들에게 where 절을 사용하도록 기대한다. 누구든지이 문제에 대한 아이디어가 있습니까?

편집 플러스 도대체 SQL 그냥 위의 쿼리가 뭐죠 무엇을 데이터베이스에 상관없이 건네지고 정상처럼 LINQ를 실행할 때 @p가 어쨌든 무엇인지 않는 방법?

답변

1

@something은 .NET이 SqlCommand 개체의 SqlParameter 컬렉션에 추가하여 처리하는 SQL 매개 변수입니다.

임의의 이름으로 매개 변수를 만들 수 있습니다. Linq는 SQL에 p#이라는 이름으로 생성합니다. 여기서 #은 컬렉션에서의 위치를 ​​나타냅니다.

0

왜 SqlParameter 개체를 SqlDependecy에 추가하기 전에 SqlCommand 개체의 Parameters 컬렉션에 추가 할 수 없습니까?

관련 문제