我是nhibernate的新手,一直在寻找存储库模式。我遇到的问题是我应该如何处理对象关系,特别是使用泛型存储库保存新的子对象?
我是否正确地认为最好的解决方案是创建子对象类型的泛型存储库的新实例并使用它来保存它们? (下面的伪代码)
GenericRepository<Product> genrep1 = new GenericRepository<Product>(session);
Product prod = genrep1.find(1);
Category cat = new Category();
GenericRepository<Category>() genrep2 = new GenericRepository<Category>(session)
genrep2..save(cat);
prod.category = cat;
genrep1.save(prod);
或者我错过了什么? 或许还有更好的方法?
答案 0 :(得分:1)
如果在映射中将Product.category
设置为cascade.SaveUpdate
(或其他类型的级联),则只需要保存Product
对象,并保存所有子对象(或更新)自动。