私はC#の世界にまったく慣れていないので、素朴なことを許してください。役立つ情報を省略した場合はお知らせください。
Dynamics CRM 2011 のカスタマー ポータル用のカスタム SiteMapProvider を構築しています。まず、配列を初期化します。
public Adx_webpage[] WebPages;
次のように入力されます。
public MyProvider()
{
WebPages = (FROM p in CrmContext.Adx_webpageSet WHERE p.Adx_HiddenFromSitemap != true SELECT p).ToArray();
}
後で、次のように WebPages[] をクエリしようとします。
Adx_webpage[] childPages = (FROM p in WebPages WHERE p.adx_parentpageid.Id == page.Id SELECT p).ToArray();
これをデバッガーで実行すると、WHERE 句で p.adx_parentpageid.Id が null であるという条件を指す NullReferenceException が返されます。これは、サイトのホームページに当てはまります。これは質問につながります:
このクエリでホーム ページが として表示されるのはなぜp
ですか? 私は何を誤解していますか?