2010-10-16 62 views
0

尋找關於如何更新實體集合的一些建議。在一個Web應用程序中 - 我們有一個多選列表框允許用戶從可用實體列表中分配和刪除子實體。用戶將選擇相關的孩子與父母關聯。即它可能屬於多個類別的產品。一旦用戶滿意,他們提交併且我們更新實體。Nhibernate更新 - 用於更新實體上的孩子的解決方案?

什麼是更好的方法(刪除刪除的子女,添加新的子女)的集合考慮到性能。我不想運行幾個sql語句來獲取每個孩子並將其添加到父級。

乾杯

映射附:

public class ParentMap : EntityMapping<Parent> 
    { 
     public ParentMap() 
     { 
      Map(x => x.Name); 
      HasMany(x => x.Children) 
       .Cascade.AllDeleteOrphan() 
       .Access.LowerCaseField(Prefix.Underscore); 
     } 
    } 

    public class ChildMap : EntityMapping<Child> 
    { 
     public ChildMap() 
     { 
      References(x => x.Parent); 
     } 
    } 

public abstract class EntityMapping<TEntity> : ClassMap<TEntity> where TEntity : EntityBase 
    { 
     protected EntityMapping() 
     { 
      Id(x => x.Id, "Id") 
       .UnsavedValue("00000000-0000-0000-0000-000000000000") 
       .GeneratedBy.GuidComb(); 
      OptimisticLock.Version(); 
      Version(entity => entity.Version); 
     } 
    } 
+0

你能發佈你的映射嗎? – DanP 2010-10-16 10:44:37

+0

嘿丹。映射在原來的職位 – Chev 2010-10-16 15:03:47

回答