我们使用 DTO 模式将我们的域对象从服务层编组到我们的存储库中,然后通过 NHibernate 下放到数据库中。
我遇到了一个问题,我从存储库中提取了一个 DTO(例如 CustomerDTO),然后将其转换为我的服务层中的域对象(客户)。然后我尝试保存一个包含相同客户对象的新对象(例如 SalesOrder)。这又被转换为 SalesOrderDTO(和 CustomerDTO)以推送到存储库中。
NHibernate 不喜欢这样 - 它抱怨 CustomerDTO 是重复记录。我假设这是因为它在同一个会话中取出了第一个 CustomerDTO,并且由于返回已经来回转换,它无法将其识别为同一个对象。
我被困在这里还是有办法解决这个问题?
谢谢
詹姆士