首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fluentnhibernate ManyToMany不会向连接表中添加记录

fluentnhibernate ManyToMany不会向连接表中添加记录
EN

Stack Overflow用户
提问于 2010-05-28 21:56:08
回答 1查看 254关注 0票数 0

当保存我的多对多相关实体时,实体保存正常。但是,连接表保持为空:

产品端映射(ProductMap.cs)

代码语言:javascript
复制
HasManyToMany(x => x.Pictures)
.Table("Product_Picture")
.ParentKeyColumn("Product")
.ChildKeyColumn("Picture")
.Cascade.All()
.Inverse()

这将生成以下xml:

代码语言:javascript
复制
<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)

代码语言:javascript
复制
HasManyToMany(x => x.Products)
.Table("Product_Picture")
.ParentKeyColumn("Picture")
.ChildKeyColumn("Product")
.Cascade.All();

这将生成以下xml:

代码语言:javascript
复制
<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>

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-28 21:59:11

您必须确保向Picture对象上的集合中添加内容,该对象是尚未声明为Inverse()的关系的方向。添加到关系的另一端将不会导致它们持续存在。

如果您正在执行此操作,或者正在向两端添加对象,则请在您正在操作并尝试保存这些对象的位置发布一些代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2929583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档