2009-06-01 36 views
4

對不起,如果問題重複,問題的錯誤標題很抱歉。Linq to SQL使用分隔符追加多個記錄

我有兩個數據庫表:

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

說我有Users

1, "bob" 

和三個相關記錄Documents

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

1個記錄我想產生一個結果設置:

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

我已經試過各種事情,涉及合併的多個結果集,但得到的錯誤:Local sequence cannot be used in LINQ to SQL implementation of query operators except the Contains() operator.

我應該如何去這樣做。

回答

5

或者:

  • 採取列 「是」 從服務器做CONCAT在C#
  • 寫,做它的SP,並通過LINQ

撥打SP SP(接受@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