2011-10-06 75 views
3

我使用Code First編寫我的數據層,然後使用RIA服務傳輸到Silverlight前端。由於我必須序列化所有內容,我希望在通過線路發送它之前獲取有關每個實體的其他信息(以減少加載時間)。在過去,我通過將所有內容翻譯成一個有附加信息的POCO類來做到這一點。我想知道是否有更好的方法來做到這一點。爲了給你一個想法,這裏是我的類:在實體框架中爲關聯實體的計數添加一個屬性代碼第一個

public class District 
{ 
    // ... Other properties, not important 
    public ICollection Installations { get; set; } 

    //The property I would like to calculate on the fly 
    [NotMapped] 
    public int InstallationCount { get; set; } 
} 

有沒有辦法讓這個屬性計算前自動我跨網發送?一種選擇只是包含安裝集合,但會增加大量的批量(安裝實體上有大約50個屬性,每個區域可能有數百個記錄)。

回答

1

而不是使InstallationCount成爲自動屬性,只需使用get返回安裝集合的計數功能即可。

public class District 
{ 
    public virtual ICollection<Installation> Installations { get; set; } 

    [NotMapped] 
    public int InstallationCount { get { return Installations.Count; } } 
} 
+0

我之前已經試過這一點。該代碼將在客戶端執行,因此如果您未包含實體集合,則該代碼不起作用。 –

+0

事實上,試圖獲得區域的功能必須包括(「安裝」)才能正常工作。任何其他想法? – oldwizard

相關問題