关于一对多,我有两个分支:
public class ClasssA
{
public int Id { get; set; }
public int ClassBId { get; set; }
public virtual ClassB ClassB { get; set; }
}
public class ClassB
{
public int Id { get; set; }
public string Example { get; set; }
public virtual ICollection<ClassA> ClassACollection { get; set; }
}
执行查询时:
var query = EntityQuery.from('ClassB');
我得到例外:在映射到实体属性'ClassACollection'期间,q.js中的“集合导航属性可能无法设置”。如何正确执行查询?
答案 0 :(得分:0)
我认为您的问题与查询方式无关,我认为这与您的代码中的其他内容有关。异常似乎相当直接 - 您是否尝试将值传递到集合属性中?
您可能正在尝试使用Knockout的setter来设置代码中某处的导航属性的值 -
ClassAObservable.ClassACollection(data.results);
你的意思是像这样推动每个对象 -
ClassAObservable.ClassACollection.push(result);
更好的选择是将ClassA结果正确映射回ClassB实体,这样您就不必明确地执行此操作。如果没有看到你在做什么,很难确定采取哪种方法。