代码之家  ›  专栏  ›  技术社区  ›  Ruud van Falier

如何防止nHibernate为引用对象创建重复记录

  •  1
  • Ruud van Falier  · 技术社区  · 15 年前

    我无法使用nhibernate将对象保存到数据库中。

    我的代码如下:

    Image image = new Image { Url = 'test.jpg' };
    Product product1 = new Product { Name = 'MyProduct', Image = image };
    Product product2 = new Product { Name = 'MyProduct2', Image = image };
    
    MySession.Save(product1); // This also creates an Image record
    MySession.Save(product2); // This creates another Image record even tho the data is exactly the same
    

    我想防止图像被创建两次。 是否有一个标准的nhibernate解决方案,或者我必须为产品类创建一个自定义的save()方法?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Ruud van Falier    15 年前

    经过长时间的搜索,我发现了一些关于为我的实体类实现equals()方法的内容,以便nhibernate可以比较它们。 也许这就是解决我问题的办法。