0

我有两个关于一对多的类:

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 中的“可能未设置集合导航属性”。如何正确执行查询?

4

1 回答 1

0

我认为您的问题与您的查询方式无关,我认为这与您的代码中的其他内容有关。异常似乎相当直接 - 您是否尝试将值传递到您的集合属性中?

您可能正在尝试使用 Knockout 的 setter 来设置导航属性的值,例如代码中的某处 -

ClassAObservable.ClassACollection(data.results);

你的意思是像这样推动每个物体 -

ClassAObservable.ClassACollection.push(result);

对您来说更好的选择是将您的 ClassA 结果正确映射回 ClassB 实体,这样您就不必显式地执行此操作。如果没有看到您在哪里执行此操作,则很难确定采用哪种方法。

于 2013-08-08T13:04:33.533 回答