2009-06-01 8 views
4

ご迷惑をおかけして申し訳ありませんが、重複している場合はお詫び申し上げます。デリミタで複数のレコードを追加するSQLへのLinq

私は2つのDBテーブルを持っている:

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

は、私は結果を生成したい私はDocuments

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

Users

1, "bob" 

と3つの関連レコードに1つのレコードを持っていると言います設定:

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

私は、複数の結果セットのマージ関わるいろいろなことを試してみましたが、エラーを取得しました:Local sequence cannot be used in LINQ to SQL implementation of query operators except the Contains() operator.

は、どのように私はこれをやって行く必要があります。

答えて

5

次のいずれかの

  • サーバから "そのまま" の列を取り、C#の
  • で連結を行うが、それをしないSPを書き、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 
関連する問題