2011-12-16 8 views
1

私は、クエリ内の郵便番号のリスト(ThisInstructorsPostcodes)と販売の紹介(LastWeeksReferrals)を引き戻す別のクエリを持ってグループ化されたクエリのアイテムの合計を取得するにはどうすればよいですか?

私はLEFT OUTERのLINQ相当を実行するには、以下の構文を使用していますので、私はいつも郵便番号を取得し、JOINたとえそこに紹介者がいなくても戻ってきます。

 dim final = from tip in ThisInstructorsPostcodes _ 
     group join lwr in LastWeeksReferrals on tip.PostcodeID equals lwr.PostcodeID Into lwrgrp = group _ 
     from lwrgrpq in lwrgrp.DefaultIfEmpty _ 
     select new with {tip.AreaDistrict, lwrgrpq } 

    final.dump() 

私は私が必要なものにしているので近くを取得していますが、私はlwrgrpq列にInstructorReferralsオブジェクトの束を取得し、私がやりたいことはすべての「紹介の単純和でいた結果それらのInstructorReferralsオブジェクトの整数。

Results in LinqPad

私はこれが働くだろうと思った:

 dim final = from tip in ThisInstructorsPostcodes _ 
     group join lwr in LastWeeksReferrals on tip.PostcodeID equals lwr.PostcodeID Into lwrgrp = group _ 
     from lwrgrpq in lwrgrp.DefaultIfEmpty _ 
     select new with {tip.AreaDistrict, lwrgrpq.Sum(function(x) x.Referrals) } 

...しかし、それはしません - エラーで失敗します。

Anonymous type member name can be inferred only from a simple or qualified name with no arguments.

私が持っているので、私は苦労していますこのlinqクエリ構造体をSQLの外部結合動作を模倣するためにのみ使用しましたが、誰かがこれを修正してグループ化されたアイテムが匿名型ではないことを知っていますか?

答えて

2

私はVB.NETに慣れていませんが、匿名型でプロパティ名を設定しなかったため、エラーが発生しています。選択句でこれを試してください:

select new with { 
        .AreaDistrict= tip.AreaDistrict, 
        .ReferralSum =lwrgrpq.Sum(function(x) x.Referrals) 
       } 
関連する問題