2
我有以下多对多Project
和UserProfile
实体之间的模型。由于Breeze不支持多对多的关系,我也暴露了中间实体ProjectMember
。所以服务器端代码如下所示:微风导航属性未加载
public class Project
{
public int ProjectId { get; set; }
public String Name { get; set; }
public virtual List<ProjectMember> ProjectMembers { get; set; }
}
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public virtual List<ProjectMember> ProjectMembers { get; set; }
}
public class ProjectMember
{
public int ProjectId { get; set; }
[ForeignKey("ProjectId")]
public Project Project { get; set; }
public int UserId { get; set; }
[ForeignKey("UserId")]
public UserProfile UserProfile { get; set; }
}
从服务器返回的元数据,似乎是正确的:
的导航属性似乎被正确地发送出去服务器。
当我做要求项目从客户端:
var query = entityQuery.from("Projects")
.where('projectId', '==', projectId)
.expand("projectMembers");
返回的JSON数据是一个预期:
然而,Project.ProjectMembers
导航属性不正确构造如您在下面的截图中看到的那样:
我经历了教程,微风文档,与导航属性相关的SO问题,我仍然没有看到我做错了什么。
问题: 鉴于上述信息,为什么Breeze未加载ProjectMembers
导航属性?
非常感谢Jay!你的回答帮助我审查了我的元数据,你是可靠的,这是错误的。我在服务器上使用的模型是多对多的,我用流利的API编写了一个错误 – GETah
请将此问题标记为“已回答”,否则我会继续检查:) –
对不起,我忘了标记它:) 再次谢谢你。你们已经建立了一个真棒框架! – GETah