fluentnhibernate ManyToMany не добавляет записи в таблицу соединений - PullRequest
0 голосов
/ 28 мая 2010

При сохранении моих связанных между собой сущностей, многие сохраняются нормально. Однако распределительная таблица остается пустой:

Отображение на стороне продукта (ProductMap.cs)

HasManyToMany(x => x.Pictures)
.Table("Product_Picture")
.ParentKeyColumn("Product")
.ChildKeyColumn("Picture")
.Cascade.All()
.Inverse()

Это приводит к следующему xml:

<bag cascade="all" name="Pictures" table="Product_Picture">
  <key>
    <column name="Product" />
  </key>
  <many-to-many class="...Picture...">
    <column name="Picture" />
  </many-to-many>
</bag>

Отображение на стороне изображения (PictureMap.cs)

HasManyToMany(x => x.Products)
.Table("Product_Picture")
.ParentKeyColumn("Picture")
.ChildKeyColumn("Product")
.Cascade.All();

Это приводит к следующему xml:

<bag inverse="true" cascade="all" name="Products" table="Product_Picture">
  <key>
    <column name="Picture" />
  </key>
  <many-to-many class="...Product...">
    <column name="Product" />
  </many-to-many>
</bag>

Есть идеи?

1 Ответ

0 голосов
/ 28 мая 2010

Вы должны убедиться, что добавляете в коллекцию объект Picture, который является направлением отношений, которые вы не объявили как Inverse(). Добавление к другой стороне отношений не приведет к их сохранению.

Если вы делаете это или добавляете обе стороны, пожалуйста, опубликуйте часть кода, в котором вы манипулируете и пытаетесь сохранить эти объекты.

...