代码之家  ›  专栏  ›  技术社区  ›  Dmytrii Nagirniak

Fluent NHibernate中的地图合成

  •  0
  • Dmytrii Nagirniak  · 技术社区  · 15 年前

    有两类:产品和形象。

    1. 产品只有一个图像。
    2. 不能存在孤立图像。

    这代表 作文 UML中的关系,这意味着:
    为product.image分配新图像将导致以下结果

    1. 删除旧图像;
    2. 插入新图像;
    3. 将新图像链接到产品。

    现在我需要将其映射到RDBMS表(元代码):

    Product (Id primary key, ImageId int references Image(id))  
    Image(Id primary key, Content)
    

    问题是如何使用流利的NHiberinate。
    请注意:

    productMap.References(x => x.Image).Cascade.All()  
    

    不适用-它不会删除孤立映像。

    此外,NH不支持多对一、一对一的所有删除孤立项。

    我可能需要一些像加入组件之类的东西…
    但在流畅的NH。

    更新:fnh用户组中的james建议使用以下语法:

    WithTable("other table", m => 
    {
      m.Component(...);
    });
    

    但没有运气:不支持例外:过时
    它应该在FNH的v1(upcomming)中工作。

    1 回复  |  直到 8 年前