如何使用NHibernate保存DTO?

如何使用NHibernate保存DTO?,nhibernate,dto,nhibernate-projections,Nhibernate,Dto,Nhibernate Projections,我想做的是: 使用投影获取DTO 在UI中,我编辑此DTO对象 保存修改的对象 如何将数据保存到对象? 我应该重新查询域并将其合并到dto吗? 是否有可能指定要保存的投影 Should I requery domain and merge it dto? 对。这正是你需要做的。 NHibernate不知道如何处理DTO,因此没有一种用于持久化对象的会话方法可以处理DTO Is there a possibility to specify projections for saving? 否。

我想做的是:

  • 使用投影获取DTO
  • 在UI中,我编辑此DTO对象
  • 保存修改的对象
  • 如何将数据保存到对象? 我应该重新查询域并将其合并到dto吗? 是否有可能指定要保存的投影

    Should I requery domain and merge it dto? 
    
    对。这正是你需要做的。 NHibernate不知道如何处理DTO,因此没有一种用于持久化对象的会话方法可以处理DTO

    Is there a possibility to specify projections for saving?
    

    否。唯一的“储蓄预测”是实体的ur NH映射

    这是否意味着我需要重新查询完整对象(包括我在DTO中特别省略的所有字段)?否。使用Session.Load()。它返回一个代理对象,当您访问属性时,该对象将被水合。