2012-02-17 80 views
3

查看此複雜類型,它基本上是一個包裝某些實體的DTO。我不需要跟蹤這些實體或使用更新或任何這些東西,我只是想將它們發送給客戶端。頂部的東西是非實體,只是爲了讓我知道我並不瘋狂。RIA服務調用操作返回具有實體屬性的複雜類型

public class ResultDetail 
{ 
    // non entities (some are even complex) - this works GREAT! 
    public string WTF { get; set; } 
    public IEnumerable<int> WTFs { get; set; } 
    public SomethingElse StoneAge { get; set; } 
    public IEnumerable<SomethingElse> StoneAgers { get; set; } 


    // these are entities - none of this works 
    public EntityA EntityA { get; set; } 
    public IEnumerable<EntityB> EntityB { get; set; } 
} 

public class SomethingElse 
{ 
    public int ShoeString { get; set; } 
} 

現在看看這個:

http://i.snag.gy/tI9O9.jpg

不是一個單一的實體屬性在客戶端生成的類型出現。是否有屬性或者我可以或者確實需要爲每個實體類型創建DTO對象?我的樣本中有2個以上,他們有很多屬性。

順便說一句,這些實體類型已在客戶端上生成,因爲在與它們一起工作的域服務中的正常查詢操作。

+0

我遇到同樣的問題。看起來您無法將實體或實體集合作爲複雜類型的一部分,無論您是否在其上放置DataMember屬性。我正在使用RIA Services v1.0 SP1。我不知道它是否已添加到SP2中。 – Tevin 2012-02-21 11:40:02

回答

0

這是不可能的,因爲目前的RIA服務框架主要設計用於跟蹤實體,併爲RIA服務是無法檢測其性能,序列化和需要注意的,因爲每個實體都有導航性能,序列化特性可能導致無限循環或長循環,因爲無法控制如何導航對象圖。

相反,您需要以這種方式編程您的客戶端,以便您可以正確加載關係。

+2

RIA服務已被添加到「列表」中。 – 2012-03-14 11:35:13

相關問題