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')