次の LINQ-to-Entities クエリがあります
from r in ctx.Rs
join p in ctx.Ps on r.RK equals p.RK
group r by r.QK into gr
select new { QK = (int)gr.Key, Num = gr.Count() }
このスキーマに対して実行される
Table P Table R Table Q
PK*
RK ----> RK*
Text QK ------> QK*
Text Text
Q にレコードがあり、P に対応するレコードがない場合は、次のメッセージが表示されます。 "
問題は最後の行の gr.Count() ですが、解決策が見つかりません。gr の null をテストしようとしましたが、うまくいく方法が見つかりません。
Count() の代わりに Sum() を使用して同様の問題を解決する方法をいくつか見てきましたが、それらを私の問題に適応させることはできませんでした。
クエリをGroup and Count in Linq issueのように変更しようとしましたが、別のメッセージが表示されました。
また、Entity Framework (およびその他多数) のGroup と Countも調べましたが、問題は異なります。