2009-06-01 5 views
4

문제의 제목이 유감이라면 사과드립니다.Linq가 구분 기호가있는 여러 레코드를 추가합니다

내가 이dB 테이블이 : 나는 Documents

1, "Doc1", 1 
2, "Doc2", 1 
3, "Doc3", 1 

에서 Users

1, "bob" 

세 관련 기록에 한 기록을 가지고

Users     Documents 
-------    --------- 
ID     ID 
Name     DocumentName 
         UserID 

말을 나는 결과를 생성 할 세트 :

1, "bob", "Doc1, Doc2, Doc3" 

내가 해봤 여러 가지가 여러 결과 집합의 병합 있지만 오류 얻을 포함 : Local sequence cannot be used in LINQ to SQL implementation of query operators except the Contains() operator.

가 어떻게이 일에 대해 이동해야합니다.

답변

5

는 다음 중 하나를

  • 서버에서 "있는 그대로"열을 가지고
  • 그것을 않는 SP 쓰기 C 번호에 CONCAT을 수행하고

LINQ를 통해 SP를 호출 SP (Accepting @ UserID)는 다음과 같이 할 수 있습니다.

DECLARE @txt varchar(max) 
SET @txt = '' 
SELECT @txt = @txt + [DocumentName] + ', ' 
FROM [Documents] 
WHERE [UserID] = @UserID 

SELECT [ID], [Name], @txt AS [Docs] 
FROM [Users] 
WHERE [ID] = @UserID 
관련 문제