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