我正在使用带有Breeze和Entity Framework 6的Web API 2.我有以下模型。
public class ScoreCard: EntityBase
{
public string Title { get; set; }
public virtual List<ScoreCardSection> Sections { get; set; }
public String UserId { get; set; }
}
public class ScoreCardSection:EntityBase
{
public string Title { get; set; }
public int Index { get; set; }
public long ScoreCardId { get; set; }
public virtual List<ScoreCardQuestion> Questions { get; set; }
}
我想获取一张带有部分列表的记分卡。我使用expand执行EntityQuery并执行此URL:
/api/ScoreCards?$filter=Id%20eq%201L&$expand=Sections
我得到以下结果:
[{"Title":"Catalyst Service Report","Sections":
[{"Title":"Worship","Index":0,"ScoreCardId":1,"Questions":null,"Id":1},
{"Title":"Message","Index":0,"ScoreCardId":1,"Questions":null,"Id":2},
{"Title":"Leader","Index":0,"ScoreCardId":1,"Questions":null,"Id":3},
{"Title":"Attendance","Index":0,"ScoreCardId":1,"Questions":null,"Id":4},
{"Title":"Security","Index":0,"ScoreCardId":1,"Questions":null,"Id":5}],
"UserId":"b9bd5256-dd18-4c1e-9907-dac9e7e4c01b","Id":1}]
到目前为止,这么好。现在我们解决了这个问题。当我在成功回调期间检查结果时,对象的sections属性是一个空数组,即使这些部分是在响应中发回的。
我在这里缺少什么?谢谢你提前。
答案 0 :(得分:0)
好的,这个问题的解决方案似乎是几个小时的睡眠。
对于有同样问题的人来说,问题的第一部分是我在ScoreCardSection上没有ScoreCard的导航属性。一旦我添加,我得到一个“自我引用循环”错误。通过将BreezeControllerAttribute添加到我的控制器类来解决这个问题。
希望这对某人有帮助。