Breeze 导航属性的多对一问题

Breeze 导航属性的多对一问题,breeze,Breeze,我对微风中的多对一关系有问题 情况如下(为清楚起见,替换实体类型): 有一个具有子实体列表的父实体,每个子实体都有另一个子实体列表 父母-子女-孙子 家长实体可以是教室(虚拟情境),孩子可以是学生。假设每个学生都有一个附加到他们身上的另一个实体的列表,例如每个孩子可以有多个国籍,国籍是孙子对象 因此,在子实体中有一个如下所示的导航属性: 国籍:{entityTypeName:#国家:#一些.名称空间”,isScalar:false,associationName:#学生国家} 在一个国家里,你们

我对微风中的多对一关系有问题

情况如下(为清楚起见,替换实体类型):

有一个具有子实体列表的父实体,每个子实体都有另一个子实体列表

父母-子女-孙子

家长实体可以是教室(虚拟情境),孩子可以是学生。假设每个学生都有一个附加到他们身上的另一个实体的列表,例如每个孩子可以有多个国籍,国籍是孙子对象

因此,在子实体中有一个如下所示的导航属性: 国籍:{entityTypeName:#国家:#一些.名称空间”,isScalar:false,associationName:#学生国家}

在一个国家里,你们不需要一个指向学生的链接,因为并没有理由从一个国家导航到一个学生

当尝试向Nations数组添加国家时,不会发生任何事情,因为“checkForDups”方法不会返回任何内容(我没有双向绑定,也没有设置外键属性)

我怎样才能让它工作

非常感谢

编辑:

不起作用的事情:

  • 学生。国家。推动(国家)
  • 当我使用反向关系时,上面的调用在将小学生的isScalar属性设置为true时起作用,但是由于这个原因,无法将同一个国家分配给两个小学生

  • (注意样本是假的,仅供样本使用)

    您试图以错误的方式建立多对多关系

    你们有许多学生,每个学生都有许多国籍(国家)。你有许多国籍(国家),与许多学生有联系。就这么简单

    您需要做的是创建一个连接对象:

    public class PupilNationalityJunction{
      public int Id{get;set;}
      public int PupilId{get;set;}
      public int NationalityId{get;set;}
      [ForeignKey("PupilId")]
      public Pupil Pupil{get;set;}
      [ForeignKey("NationalityId")]
      public Country Nationality{get;set;}
    }
    
    然后您可以查询:
    教室.学生.学生国籍连接.国籍

    虽然拥有一个以上的国籍可能没有意义,但这只是一个例子。

    想想看,标题是不正确的,最终是一种多对多的关系。我只是想知道一个人怎么可能拥有一个以上的国籍。。。不同文化的父母?