看看这个复杂的类型,它基本上是一个包装一些实体的DTO。我不需要跟踪这些实体或使用更新或任何这些东西,我只想将它们发送到客户端。顶部的东西是非实体只是为了让我知道我并不疯狂。
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; }
}
现在看看:
在客户端生成的类型上不会显示单个实体属性。是否有我可以或者做的属性或事物我真的需要为这些实体类型中的每一个创建DTO对象?我的样本中有超过2个,它们有很多属性。
顺便说一下,这些实体类型已在客户端上生成,因为域服务中的常规查询操作与它们一起使用。
答案 0 :(得分:0)
这是不可能的,因为当前的Ria服务框架主要是为跟踪实体而设计的,对于Ria服务,不可能检测要序列化的哪些属性以及要注意哪些属性,因为每个实体都有导航属性,序列化属性可能会导致无限循环或长循环,因为无法控制如何导航对象图。
相反,您需要以这种方式对客户端进行编程,以便您可以正确地按需加载关系。