2012-07-09 48 views
1

我即將爲我的數據庫實現Web服務,可能使用WCF數據服務。我需要提供的某些對象具有需要存在的子對象才能使對象有用。但由於實體框架中的延遲加載,這些子對象不會自動加載。WCF數據服務中的選擇性顯式加載

我打算使用JSON調用此服務,並且我不想在每次調用中都指定$expand option。我不清楚在哪裏使用LoadProperty方法(相同的鏈接),因爲我只是寫了InitializeService方法,讓框架完成剩下的工作。

有沒有辦法將其配置爲顯式加載一些子對象而不是其他的?

回答

1

WCF數據服務目前不支持在服務器上自動展開。客戶總是要求擴展。

您可以通過修改傳入的請求來實現某種圍繞WCF DS的解決方法。因此,例如,如果客戶端發送〜/產品的請求,您可以在它到達WCF DS之前對其進行修改,並讓它處理〜/ Products & $ expand = Category並且以這種方式有效地實現自動擴展。但是爲了使這樣的服務更加健壯,你必須解析查詢URL,並且只有在這裏還沒有擴展時才添加擴展,等等。

0

另一種方式是,如果它始終需要子對象存在,我們可以使子對象變爲複雜類型而不是實體,以便它們始終與父對象一起出現。是否有充分的理由讓子對象成爲個體實體?

希望這會有所幫助。

感謝 PRATIK

+0

你能澄清你的複雜類型VS實體是什麼意思? – 2012-07-09 20:19:02

相關問題