Breeze元数据和反序列化对象
我面临微风元数据的问题。我用微风控制器开发了一个系统。我在元数据中看到我的模型,包括所有导航属性。当我从服务器获取数据时,我看到我的对象被预期的字段填充,但是客户端上的反序列化对象只包含简单字段,而不包含集合 我在元数据和服务器返回的对象中看到如下内容:Breeze元数据和反序列化对象,breeze,Breeze,我面临微风元数据的问题。我用微风控制器开发了一个系统。我在元数据中看到我的模型,包括所有导航属性。当我从服务器获取数据时,我看到我的对象被预期的字段填充,但是客户端上的反序列化对象只包含简单字段,而不包含集合 我在元数据和服务器返回的对象中看到如下内容: public partial class DesignType { public DesignType() { this.Product = new
public partial class DesignType
{
public DesignType()
{
this.Product = new HashSet<Product>();
}
public int Id { get; set; }
public string Name { get; set; }
public string Code { get; set; }
public virtual ICollection<Product> Product { get; set; }
public virtual VisionType Vision { get; set; }
}
public partial class VisionType
{
public VisionType()
{
this.DesignType = new HashSet<DesignType>();
}
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<DesignType> DesignType { get; set; }
}
结果对象仅包含简单的数据属性,并忽略属性ICollection Product和Vision
任何想法。
提前感谢…您的查询只要求根类型,
DesignType
,因此这就是应该返回的全部内容。我假设您的服务器端方法没有返回相关的产品
和愿景
实体(它可以这样做,但我打赌您没有做到这一点)
微风在做你要求的事
如果客户需要相关实体,可以通过EXPLAND子句要求:
breeze.EntityQuery.from("Designs")
.expand('Products, Vision')
退房
2013年12月11日更新
如果我理解你的评论,(a)你现在明白为什么你没有看到产品
,因为你既不是在客户端请求产品,也不是从服务器推出产品,(b)你的web api包括相关的Vision
实例和(b)您将在查询的JSON响应中看到Vision
数据
剩下的谜团是为什么someDesignType.Vision
返回null
请阅读,特别关注
产品
上指向设计类型
的参考导航属性和外键属性。如果您仍然困惑不解,请向我们展示Vision
导航属性的详细信息,如此处所述。您可以发布查询、控制器中的方法和对象A的C#model吗?可能还有对象Y和B的定义(至少是带有ID和外键的重要部分)。感谢您的回复,请查看更新的问题。我的服务器端查询是:(DbQuery)Context.Include(“VisionType”);所以至少我应该看到视觉实体。我阅读了这个关于(referentialConstraint)的问题,所以请您提供反馈:感谢更新,我用两个实体更新了我的问题,让我们现在就忽略产品,我认为它存在类似的问题。因为你看不到什么特别的东西,我把这本书作为你的文档。如果您需要任何其他输入来解决问题,请告诉我。顺便说一句,我在查询响应调试中读到:您是否定义了外键(FK)属性?开发人员经常忽略定义或标识FK属性。Breeze需要FK属性来实现导航属性。在某些情况下,您可以在不使用FKs的情况下定义导航属性,但Breeze将无法在缓存中维护这些属性。我如何在EF5中,在代码中做到这一点,而不在设计器中做到这一点?Thaks…EF培训超出了轻松问题的范围。你可能想向了解她的朱莉·勒曼学习。从“”开始。好的,谢谢。至少我知道与FK有关的问题。这很令人伤心,所以我必须为所有人做这件事,我希望breeze可以在没有像silverlight一样的Ria服务的情况下做到这一点。
breeze.EntityQuery.from("Designs")
.expand('Products, Vision')