2011-09-24 44 views
3

我在使用RIA Services和EF 4.1與Silverlight在客戶端上加載相關實體時遇到問題。無法使用RIA服務在客戶端上加載相關實體

我正在使用Expression()參數的DbDomainService上的Include()方法,並發現在單步執行我的服務時相關實體加載得很好。但是,當Queryable結果返回給客戶端時,沒有相關實體被加載 - 它們是空的。我所有的實體都標有[DataMember]屬性,所以我認爲它不是序列化問題。而且,我的DbDomainService查詢方法用[Query]屬性標記。

我想知道在使用RIA服務和EF 4.1代碼時,客戶端是否需要設置任何特定的東西?我一定錯過了一些東西,但我不確定是什麼。

任何幫助,將不勝感激。

感謝,

SFX

回答

5

雖然你可能在你的服務呼叫使用了.Include(),你也必須添加[Include]屬性在還創建元數據類。

.Include()語句告訴EF生成檢索數據所需的SQL,而Include屬性告訴WCF RIA服務確保實體類也在客戶端上創建。

一旦數據到達客戶端,它也需要知道要將它放入什麼類型的結構中。

HTH

+0

謝謝,工作!你知道是否有一種方法可以使用流暢的API來實現相同的功能?我不想在我的域模型上使用註釋,並且元數據嵌套類方法看起來很麻煩。 – Xam

+0

不是說我知道使用WCF RIA服務。你可以編寫自己的服務,但這是更多的工作,包括更改跟蹤。 – codeputer

+0

這對我有效!我認爲'Include'屬性只會告訴RIA它應該在客戶端生成,因爲它暴露在任何我認爲不需要用att裝飾的地方。謝謝! – Shimmy

相關問題