2

私は次のクエリを持っています

var customers = from customer in context.tblAccounts 
                join assoc in context.tblAccountAssociations on customer.AccountCode equals assoc.ChildCode 
                where customer.AccountType == "S" || customer.AccountType == "P" 
                select customer, assoc;

C#は、最後の「assoc」が好きではありません。

私のエラーメッセージは次のとおりです。

'assoc'という名前のローカル変数は、このスコープで宣言できません。これは、'assoc'とは異なる意味を与えるためです。これは、'子'スコープで他の何かを示すためにすでに使用されています。

両方のテーブルからすべての列を返し、次のように繰り返す必要があります

foreach(顧客のvar顧客)

4

2 に答える 2

8

なぜあなたはこの行を持っていますか:

select customer, assoc;

顧客、協会、またはその両方を返品しようとしていますか?後者を想定すると、匿名タイプを使用してそれらを組み合わせることができます。

select new { Customer = customer, Assoc = assoc };

次に、の各アイテムにcustomersは2つのプロパティがCustomerありAssoc、どちらからでも必要なものを取得できます。

于 2012-05-30T20:50:19.383 に答える
0

両方のアイテムを匿名タイプでラップできます。

var customers = from customer in context.tblAccounts 
            join assoc in context.tblAccountAssociations on customer.AccountCode equals assoc.ChildCode 
            where customer.AccountType == "S" || customer.AccountType == "P" 
            select new {customer, assoc};
于 2012-05-30T20:51:04.283 に答える